Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2562 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Des soucis smarty pour intégrer mon menu sous cms made simple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Des soucis smarty pour intégrer mon menu sous cms made simple

n°1767314
newty
Posté le 31-07-2008 à 15:22:47  profilanswer
 

Bonjour,
 
Je viens vers vous en fait car je suis en train d'adapter un menu à mon design pour mon futur site web. Le tout utilise smarty et le cms que j'utilise est cms made simple.
Alors j'ai tout d'abord fait ça sur une simple page que vous pouvez retrouver ici
 
Je ne connais pas grand chose à smarty mais après de nombreuses tentatives, ça s'améliore, j'ai mes 4 images du menu affichées mais j'ai également 1, 2, 3 qui s'affichent à côté... J'ai l'impression que {$cpt++} affiche également la variable. Que faire ?
 

Code :
  1. {if $count > 0}
  2. <div id="imageMenu">
  3.     <ul>
  4.         {$cpt = 0}
  5.         {foreach from=$nodelist item=node}
  6.             {if $node->depth == 1}
  7.                 {if $cpt == 0}
  8.                     <li class="accueil"><a href="#"></a></li>
  9.                 {/if}
  10.                 {if $cpt == 1}
  11.                     <li class="quisommesnous"><a href="#"></a></li>
  12.                 {/if}
  13.                 {if $cpt == 2}
  14.                     <li class="activite"><a href="#"></a></li>
  15.                 {/if}
  16.                 {if $cpt == 3}
  17.                     <li class="recrutement"><a href="#"></a></li>
  18.                 {/if}
  19.             {$cpt++}
  20.             {/if}
  21.     {/foreach}
  22.     </ul>
  23. </div>
  24. {/if}

mood
Publicité
Posté le 31-07-2008 à 15:22:47  profilanswer
 

n°1767512
newty
Posté le 31-07-2008 à 21:47:58  profilanswer
 

En fait, le lien c'est ce que ça doit faire au final. Là, c'est juste la découpe d'une page type. Maintenant, j'intègre ça sur cms made simple avec un gabarit. Et pour les menu c'est du smarty.
 
Pour l'instant, voici le rendu que j'ai en local (ce sera plus parlant :D) :
http://images4.hiboox.com/vignettes/3108/a47d38f472ebfbaaa9964b9381dee08e.jpg

n°1767613
anapajari
s/travail/glanding on hfr/gs;
Posté le 01-08-2008 à 09:30:10  profilanswer
 

t'as pas besoin du {cpt++} et de foreach, utilise plutot section:

Code :
  1. {section name=foo loop=nodelist}
  2.  {$smarty.section.foo.index}
  3. {/section}


$smarty.section.foo.index contiendra le compteur que tu cherchais à obtenir.

 


Message édité par anapajari le 01-08-2008 à 09:30:18

---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1767624
newty
Posté le 01-08-2008 à 09:54:08  profilanswer
 

je viens d'adapter en testant ceci :
 

Code :
  1. {if $count > 0}
  2. <div id="imageMenu">
  3.     <ul>
  4.  {section name=foo loop=nodelist}
  5.   {if $smarty.section.foo->depth == 1}
  6.    {if $smarty.section.foo.index == 0}
  7.     <li class="accueil"><a href="#"></a></li>
  8.    {/if}
  9.    {if $smarty.section.foo.index == 1}
  10.     <li class="quisommesnous"><a href="#"></a></li>
  11.    {/if}
  12.    {if $smarty.section.foo.index == 2}
  13.     <li class="activite"><a href="#"></a></li>
  14.    {/if}
  15.    {if $smarty.section.foo.index == 3}
  16.     <li class="recrutement"><a href="#"></a></li>
  17.    {/if}
  18.   {/if}  
  19.     {/section}
  20.     </ul>
  21. </div>
  22. {/if}


 
Le problème est que je n'ai plus rien maintenant :) Une idée ? ^^

n°1767646
anapajari
s/travail/glanding on hfr/gs;
Posté le 01-08-2008 à 10:08:36  profilanswer
 

[:prozac]
Lire la doc pour voir comment se servir de section???

Code :
  1. {section name=foo loop=$nodelist}
  2.   {if $nodelist[foo]->depth == 1}
  3. ...



---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1767708
newty
Posté le 01-08-2008 à 11:29:00  profilanswer
 

désolé de t'embêter encore une fois mais ça ne rentre pas dans le if {if $nodelist[foo]->depth == 1}

n°1768725
newty
Posté le 04-08-2008 à 09:27:30  profilanswer
 

:bounce:

n°1768758
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-08-2008 à 10:39:11  profilanswer
 

Que contient nodelist?
Par ailleurs c'est bien un array et pas une hash ?


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1768763
newty
Posté le 04-08-2008 à 10:48:40  profilanswer
 

nodelist est une liste qui contient toutes les catégories et sous catégories sous CMS Made Simple.
 
Le menu de base sous cmsms ressemble à ceci :
 

Code :
  1. <div id="menuwrapper">
  2. <ul id="primary-nav">
  3. {foreach from=$nodelist item=node}
  4. {if $node->depth > $node->prevdepth}
  5. {repeat string="<ul>" times=$node->depth-$node->prevdepth}
  6. {elseif $node->depth < $node->prevdepth}
  7. {repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
  8. </li>
  9. {elseif $node->index > 0}</li>
  10. {/if}
  11. {if $node->parent == true or ($node->current == true and $node->haschildren == true)}
  12. <li class="menuactive menuparent"><a class="menuactive menuparent"
  13. {elseif $node->current == true}
  14. <li class="menuactive"><a class="menuactive"
  15. {elseif $node->haschildren == true}
  16. <li class="menuparent"><a class="menuparent"
  17. {elseif $node->type == 'sectionheader'}
  18.         <li class="sectionheader"><span> {$node->menutext} </span>
  19. {elseif $node->type == 'separator'}
  20.         <li style="list-style-type: none;"> <hr class="separator" />
  21. {else}
  22. ...........
  23. ...........

n°1768847
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-08-2008 à 13:05:32  profilanswer
 

Je parlais de comment c'est alimenté en PHP ...
Mais bon s'pas grave, ça m'a l'air un peu le bordel donc on va faire au plus simple et qui marche (enfin qui doit), en repartant du code de départ:

Code :
  1. {if $count > 0}
  2. <div id="imageMenu">
  3.     <ul>
  4.         {$cpt = 0}
  5.         {foreach from=$nodelist item=node}
  6.             {if $node->depth == 1}
  7. ...
  8.             {assign var='cpt' value=`$cpt+1`}
  9.             {/if}
  10.     {/foreach}
  11.     </ul>
  12. </div>
  13. {/if}


J'aurais pas fait comme ça mais bon :o


---------------
Software and cathedrals are much the same - first we build them, then we pray.
mood
Publicité
Posté le 04-08-2008 à 13:05:32  profilanswer
 

n°1768860
newty
Posté le 04-08-2008 à 13:16:09  profilanswer
 

pourtant, tu viens de le faire :D
 
Sinon, ça marche (tu sais que je t'aime ?  :lol: ) avec ce code :

Code :
  1. {if $count > 0}
  2. <div id="imageMenu">
  3.     <ul>
  4.         {$cpt = 0}
  5.         {foreach from=$nodelist item=node}
  6.             {if $node->depth == 1}
  7.    {if $cpt == 0}
  8.                 <li class="accueil"><a href="#"></a></li>
  9.             {/if}
  10.             {if $cpt == 1}
  11.                 <li class="quisommesnous"><a href="#"></a></li>
  12.             {/if}
  13.             {if $cpt == 2}
  14.                 <li class="activite"><a href="#"></a></li>
  15.             {/if}
  16.             {if $cpt == 3}
  17.                 <li class="recrutement"><a href="#"></a></li>
  18.             {/if}
  19.   {assign var='cpt' value=`$cpt+1`}
  20.             {/if}
  21.     {/foreach}
  22.     </ul>
  23. </div>
  24. {/if}


Message édité par newty le 04-08-2008 à 13:16:23

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Des soucis smarty pour intégrer mon menu sous cms made simple

 

Sujets relatifs
Question simple sur DELETE, LIMIT et ORDER BYMenu déroulant non cliquable [Need help :D]
Menu déroulant au survol d'une image réactive[Javascript] Problème simple de syntaxe !
Soucis d'affichage et d'executionquestion simple, difference entre deux classes CSS
probleme menu deroulant IE/firefoxEtat d'un element du menu
Intégrer de la publicité dans un logiciel?Requête SELECT toute simple?
Plus de sujets relatifs à : Des soucis smarty pour intégrer mon menu sous cms made simple


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR