xavpiaf Posted July 3, 2010 Share Posted July 3, 2010 Bonjour,j'ai un problème au niveau de mon code, je voudrais assigner une valeur de hauteur à mon menu déroulant mais je n'arrive pas à insérer le code me permettant cela.Voici l'idée que j'avais pour le code, le problème est l'insertion des nouvelles variables, du if dans le for, et enfin affectation de l'affectation de la valeur du height à mon ul.Si quelqu'un peut me donner la solution ou quelques conseils?? > <!-- variable--> { $i=0;$nbrline=0} {foreach from=$blockCategTree.children item=child name=blockCategTree}leur de height a mon ul {$child.name} </pre> <ul> {foreach from=$child.children item=children name=categoryTreeBranch} {$children.name} {foreach from=$children.children item=childreni name=categoryTreeBranch} {$childreni.name} {$i++} {/foreach} <!-- récupération du nomre de fils max --> {if $nbrline<$i} {$nbrline =$i; {/if} {/foreach} </ul> <br><br> {/foreach}<br> <!-- affecttaion de la taille au menu--> <br> ulMenu.heigt=$nbrline *10 +20 Merci Link to comment Share on other sites More sharing options...
xavpiaf Posted July 4, 2010 Author Share Posted July 4, 2010 Y a vraiment personne qui peut me dire pourquoi ce code ne marche pas et fait planter mon site ????Je vais essayer de préciser mon problème.Mon menu doit avoir une hauteur maximale proportionnelle au plus grands nombre de fils de la catégories en cours et non une taille fixe.Pour cela je pensais simplement récupérer le plus grand nombre de fils lors de la boucle et assigné à la hauteur de mon menu.Le problème est qu'avec le code ci-dessus cela plante (page blanche), je pense que mon algorithme est correct. Le problème viendrais plutôt de l'insertion ou la syntaxe de mon code dans le fichier.Si vous voulez plus de précision afin de m'aider à résoudre ce problème n'hésitez pas.Merci, Link to comment Share on other sites More sharing options...
Franck_R Posted July 5, 2010 Share Posted July 5, 2010 Bonsoir,Si tu es dans un fichier .tpl, essai de ne pas greffer de PHP de manière à conserver la séparation entre les fichiers PHP où tu développes et les fichiers de vues(.tpl) (modèle MVC )Smarty t'autorise à déclarer des variables à l'aide de la directive : {assign var ='nomvariable' value='valeur'} plutôt que $variable = valeur.Ensuite tu peux utiliser ta variable en faisant : {$nomvariable} .En espérant que cela te donne une première piste.Bonne soirée Link to comment Share on other sites More sharing options...
xavpiaf Posted July 5, 2010 Author Share Posted July 5, 2010 Je suis d'accord pour ne pas greffer de php dans mon code.faut que j'utilise ton code dans le header.php par exemple ou je peux quand l'utiliser dans le tpl??je te remercie je vais essayer de progresser avec ça. Link to comment Share on other sites More sharing options...
xavpiaf Posted July 6, 2010 Author Share Posted July 6, 2010 j'ai un souci pour affecter une valeur ensuite genre faire {$i=0;} ou {$nbrline=$i} dans le .tpl. {foreach from=$children.children item=childreni name=categoryTreeBranch} {$childreni.name} {$i++} {/foreach} {if $nbrline<$i} {$nbrline = $i} {assign var ='$i' value='0'} } {/if} Pourquoi la valeur du i++ s'affiche?Comment affecter les valeurs ou faire appel à une fonction php. Link to comment Share on other sites More sharing options...
Franck_R Posted July 6, 2010 Share Posted July 6, 2010 Bonjour,En smarty, quand tu fais {$i++} Tu n'incrémentes pas la variable mais tu affiches la valeur de i++.Il faut encore une fois utiliser la directive assign pour incrementer ta variable //Déclarer et initialiser une variable i à 0 {assign var='i' value="0" } //Incrémenter la variable i {assign var='i' value="{$i+1}" } //Affiche la variable i {$i} Après c'est comme cela que je fais c'est peut-être pas la meilleure mais ça marche J'espère que ça t'aideraBon courage Link to comment Share on other sites More sharing options...
xavpiaf Posted July 6, 2010 Author Share Posted July 6, 2010 J'ai régler mon problème comme ceci : > </pre> <ul> 0} style="height: {math equation="height * nbline" nbline=$blockCategTree.children.children|@count}px"{/if}> {foreach from=$child.children item=children name=categoryTreeBranch} {$children.name} {foreach from=$children.children item=childreni name=categoryTreeBranch} {$childreni.name} {/foreach} <!-- {if $nbrline < count($children.children) } {$nbrline = $children.children|@count } {$nbrline++} {/if}--> {/foreach} </ul> Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now