The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
Display a variable in my template
Hello,
I created a php file, the display is correct, except the variable $out that doesn't display where it should ... with a echo, it display well the result of my query, but I can't display it directly in my template. Could someone help me ? This is my php file : Code:
<?php // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('THIS_SCRIPT', 'fournisseurs'); define('CSRF_PROTECTION', true); // change this depending on your filename // ################### PRE-CACHE TEMPLATES AND DATA ###################### // get special phrase groups $phrasegroups = array(); // get special data templates from the datastore $specialtemplates = array(); // pre-cache templates used by all actions $globaltemplates = array('index', ); // pre-cache templates used by specific actions $actiontemplates = array(); // ######################### REQUIRE BACK-END ############################ // if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line // chdir('/var/www/vhosts/lecoinduprothesiste.fr/httpdocs/forums'); require_once('./global.php'); // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### $navbits = construct_navbits(array('' => 'Options fournisseurs')); $navbar = render_navbar_template($navbits); // ###### YOUR CUSTOM CODE GOES HERE ##### $pagetitle = ''; $item=''; $liste_produits_parent = $vbulletin->db->query_read_slave(" SELECT * FROM devis_produits AS produits WHERE est_parent = 1 ORDER by id_affichage "); while ($produit = $vbulletin->db->fetch_array($liste_produits_parent)) { $item .= "$produit[nom]"; } $vbulletin->db->free_result($liste_produits_parent); echo $item; // ###### NOW YOUR TEMPLATE IS BEING RENDERED ###### $templater = vB_Template::create('FOURNISSEURS'); $templater->register_page_templates(); $templater->register('navbar', $navbar); $templater->register('pagetitle', $pagetitle); $templater->register('out', $item); print_output($templater->render()); ?> Code:
{vb:stylevar htmldoctype} <html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html"> <head> <title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title> {vb:raw headinclude} {vb:raw headinclude_bottom} </head> <body> {vb:raw header} {vb:raw navbar} <div id="pagetitle"> <h1>{vb:raw pagetitle}</h1> </div> <h2 class="blockhead">G?rez vos produits commercialis?s</h2> <div class="blockbody"> <div class="blockrow" align="center"> Ici, vous pouvez g?rer les produits que vous commercialisez, et ainsi etre contact? quand un membre du site fait une demande de devis. <p><br /><p>Chaque fois qu'une demande de devis est faite correspondant ? un produit que vous commercialisez, vous recevrez automatiquement un courriel, afin de pouvoir r?pondre ? cette demande de devis. <p><br /><p> Votre pseudo est {vb:raw bbuserinfo.username}, votre id : {vb:raw bbuserinfo.userid}, votre usergroupid : {vb:raw bbuserinfo.usergroupid} <br /><br /> articles : $out $item {vb raw:out} {vb raw:item} </div> </div> {vb:raw footer} </body> </html> |
#2
|
|||
|
|||
In the template it should be:
Code:
{vb:raw out} That's if you want the name to be able to contain html, or if you're sure it doesn't contain any special characters. If you think it could contain special characters (or if you're getting the field from a user so you're not sure what it might contain) you could use {vb:var out} instead. |
#3
|
||||
|
||||
Try this:
Code:
articles : {vb:raw out} {vb:raw item} |
#4
|
||||
|
||||
I'm so stupid .... I'll try !
Thank you for helping, I'm back to vbulletin after about 10years without coding, and it's really not easy, everything has so much changed !!! This code is prety simple, but I have to understand how ever This was my old account : https://vborg.vbsupport.ru/search.php?searchid=22636405 I'll b back --------------- Added [DATE]1433801253[/DATE] at [TIME]1433801253[/TIME] --------------- It works ! thank you, but now I've another problem |
#5
|
||||
|
||||
So, my page fournisseurs.php is now finished and it works well, thanks to you
Now I need, when a user is in the wanted forum, to display a select box to choose the type of product he needs. I added it to the newthread template : Code:
<vb:if condition="$foruminfo['forumid']=='7'"> <label for="subject" class="full">Produit concern? :</label> <select name="produit"> <option value="" selected="selected">Faites votre choix</option> {vb:raw template_liste} <option value="7" style="font-weight:bold; background:#EBEBE6">7</option> <option value="8" style="font-weight:italic;">8</option> </select> <br /> <font size=1> <i>Un produit "gris?" est une cat?gorie rassemblant la liste de tous SES produits, soit tous les produits en dessous de celle ci, jusqu'? la prochaine cat?gorie</i> </font> <br /><br /> </vb:if> Code:
$liste=" <option value=\"3\">3</option> <option value=\"4\">4</option>"; $templater=vB_Template::create('liste_produits'); $templater->register('liste ', $liste); $liste_produits .= $templater->render(); Code:
<option value="1">1</option> <option value="2">2</option> {vb:raw liste} |
#6
|
||||
|
||||
Pfiouuuuuuuuuuuu, I did it ....
In the newthread template, added : Code:
<vb:if condition="$foruminfo['forumid']=='7'"> <label for="subject" class="full">Produit concern? :</label> <select name="produit"> <option value="" selected="selected">Faites votre choix</option> {vb:raw liste_produits} </select><br /> <font size=1><i>Un produit "gris?" est une cat?gorie rassemblant la liste de tous SES produits, soit tous les produits en dessous de celle ci, jusqu'? la prochaine cat?gorie</i></font><br /><br /> </vb:if> Code:
$listes_produits = $vbulletin->db->query_read(" SELECT * FROM devis_produits ORDER by id "); while ($liste_produit = $vbulletin->db->fetch_array($listes_produits)) { if ($liste_produit[est_parent]==1) $liste .="<option value=\"$liste_produit[id]\" style=\"font-weight:bold; background:#EBEBE6\">$liste_produit[nom]</option>"; else $liste .="<option value=\"$liste_produit[id]\">$liste_produit[nom]</option>"; } $templater = vB_Template::create('liste_produits'); $templater->register('liste', $liste); $templatevalues['liste_produits'] = $templater->render(); vB_Template::preRegister('newthread', $templatevalues); Code:
{vb:raw liste} |
Благодарность от: | ||
MarkFL |
#7
|
||||
|
||||
Thank you for taking the time to post your solution...others who may face a similar situation will benefit from your post.
|
#8
|
||||
|
||||
That's why I do it
--------------- Added [DATE]1434660501[/DATE] at [TIME]1434660501[/TIME] --------------- I get an other problem. So I get this in newthread which is, in HTML : HTML Code:
<label for="subject" class="full">Produit concern? :</label> <select name="produit"> <option value="" selected="selected">Faites votre choix</option> <option value="1" style="font-weight:bold; background:#EBEBE6">Platre</option> <option value="2">Classe I - de Paris</option> <option value="3">classe III</option> <option value="4">classe IV</option> <option value="5" style="font-weight:bold; background:#EBEBE6">CFAO</option> <option value="6">Scanner 3D</option> <option value="7">Imprimante 3D</option> <option value="8" style="font-weight:bold; background:#EBEBE6">Moteurs</option> <option value="9">Pi?ce ? main</option> <option value="11">Turbine</option> <option value="12">Aspirations</option> <option value="13">avion</option> <option value="15" style="font-weight:bold; background:#EBEBE6">C?ramique</option> </select> Code:
if(THIS_SCRIPT == newthread AND $post['produit'] == '') { $errors[] = $vbphrase["force_produit_error"]; } Could someone help me ? --------------- Added [DATE]1434661051[/DATE] at [TIME]1434661051[/TIME] --------------- Solved ! The hook used has to be linked to newpost_process --------------- Added [DATE]1434661142[/DATE] at [TIME]1434661142[/TIME] --------------- Not solved It always display the error, even if the select box is filled ... --------------- Added [DATE]1434662169[/DATE] at [TIME]1434662169[/TIME] --------------- I added in a hook linked to newthread_start : Code:
$vbulletin->input->clean_array_gpc('p', array( 'produit' => TYPE_STR)); $newpost['produit'] =& $vbulletin->GPC['produit']; |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|