Smarty Forum Index Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon.

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

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: French
View previous topic :: View next topic  
Author Message
newty
Smarty Rookie


Joined: 31 Jul 2008
Posts: 7

PostPosted: Thu Jul 31, 2008 10:43 am    Post subject: Des soucis smarty pour intégrer mon menu sous cms made simpl Reply with quote

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 www.azane.dom/Azane-1

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:

{if $count > 0}
<div id="imageMenu">
    <ul>
        {$cpt = 0}
        {foreach from=$nodelist item=node}
            {if $node->depth == 1}
                {if $cpt == 0}
                    <li class="accueil"><a href="#"></a></li>
                {/if}
                {if $cpt == 1}
                    <li class="quisommesnous"><a href="#"></a></li>
                {/if}
                {if $cpt == 2}
                    <li class="activite"><a href="#"></a></li>
                {/if}
                {if $cpt == 3}
                    <li class="recrutement"><a href="#"></a></li>
                {/if}
            {$cpt++}
            {/if}
    {/foreach}
    </ul>
</div>
{/if}
Back to top
View user's profile Send private message
newty
Smarty Rookie


Joined: 31 Jul 2008
Posts: 7

PostPosted: Thu Jul 31, 2008 8:37 pm    Post subject: Reply with quote

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 Very Happy) :

www.hiboox.fr/go/images/informatique/,a47d38f472ebfbaaa9964b9381dee08e.jpg.html
Back to top
View user's profile Send private message
arnogb69
Smarty Rookie


Joined: 07 May 2008
Posts: 11

PostPosted: Fri Aug 01, 2008 7:41 am    Post subject: Reply with quote

T'as vérifié d'où viennent ces nombres dans le code source ?

A priori, plutot que nous donner ton algorithme, tu devrais nous passer ton code terminé, ton .php et .tpl, pour vérifier Wink
Back to top
View user's profile Send private message
newty
Smarty Rookie


Joined: 31 Jul 2008
Posts: 7

PostPosted: Fri Aug 01, 2008 8:07 am    Post subject: Reply with quote

Je poste ça dans une minutes Smile
Back to top
View user's profile Send private message
newty
Smarty Rookie


Joined: 31 Jul 2008
Posts: 7

PostPosted: Fri Aug 01, 2008 8:10 am    Post subject: Reply with quote

arnogb69 => A mon avis, il affiche les cpt

Le code de mon menu-cat-toto.tpl
Code:

{if $count > 0}
<div id="imageMenu">
    <ul>
        {$cpt = 0}
        {foreach from=$nodelist item=node}
            {if $node->depth == 1}
                {if $cpt == 0}
                    <li class="accueil"><a href="#"></a></li>
                {/if}
                {if $cpt == 1}
                    <li class="quisommesnous"><a href="#"></a></li>
                {/if}
                {if $cpt == 2}
                    <li class="activite"><a href="#"></a></li>
                {/if}
                {if $cpt == 3}
                    <li class="recrutement"><a href="#"></a></li>
                {/if}
            {$cpt++}
            {/if}
    {/foreach}
    </ul>
</div>
{/if}


Le code de mon gabarit qui intègre le menu-cat-toto.tpl

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="w3.org/1999/xhtml" xml:lang="fr">

   <head>
      <title>{sitename} - {title}</title>
           {metadata}
           {stylesheet}
      <script type="text/javascript" src="./design/script/mootools.js"></script>
      <script type="text/javascript" src="./design/script/imageMenu.js"></script>
   </head>
   <body>
      <div id="topNav">
         <a href="toto.toto/" title="toto"><img src="./design/img/logo-toto.png" alt="toto" /></a>
         <ul>
            <li><a href="#" title="A propos" class="hover">A propos</a></li>
            <li><a href="#" title="Plan du site">Plan du site</a></li>
            <li><a href="#" title="Nos partenaires">Nos partenaires</a></li>
            <li><a href="index.php?page=contact" title="Contact">Contact</a></li>
         </ul>
      </div>
      <div id="body">
         <div id="topShadow"></div>
            <div id="bodyPannel">
               {menu template='menu-cat-toto.tpl'}   
               </div>
               <div id="Contentmenuimg">
                  <p>Ullamcorper ipsum rutrum Aliquam ut eget Integer nulla lacinia nibh vestibulum. Nulla Proin elit pretium nulla sem interdum et Vivamus tellus vestibulum. Mauris Curabitur metus ante ornare nunc tempor Vestibulum magnis quis ligula. Ut sed Maecenas adipiscing sapien turpis ac pede Nulla platea facilisi. Curabitur eros sed id nisl non ut condimentum risus eu velit. Cursus. Ullamcorper ipsum rutrum Aliquam ut eget Integer nulla lacinia nibh vestibulum</p>
               </div>
               <br /><br />
               {menu template='menu-souscat-toto.tpl'}
               <div id="midle">
                  {content}
                  <br class="spacer" />
               </div>
               <div id="colorBg"></div>
            </div>   
         <div id="bottomShadow"></div>
         <br class="spacer" />
      </div>
      <div id="footer">
         <a href="xiti.toto" target="_blank" title="XiTi" class="xiti"></a>
         <ul>
            <li><a href="#" title="Mentions légales">Mentions légales</a></li>
         </ul>
         <br class="spacer" />
      </div>
      <script type="text/javascript">
         window.addEvent('domready', function(){
         var myMenu = new ImageMenu($$('#imageMenu a'),{openWidth:310, border:2, onOpen:function(e,i){alert(e);}});
         });
      </script>   
   </body>
</html>
Back to top
View user's profile Send private message
newty
Smarty Rookie


Joined: 31 Jul 2008
Posts: 7

PostPosted: Fri Aug 01, 2008 1:46 pm    Post subject: Reply with quote

Et bien on m'a dit sur un autre forum d'utiliser section

J'ai donc fait :

Code:
{if $count > 0}
<div id="imageMenu">
    <ul>
      {section name=foo loop=nodelist}
         {if $nodelist[foo]->depth == 1}
            {if $nodelist[foo] == 0}
               <li class="accueil"><a href="#"></a></li>
            {/if}
            {if $nodelist[foo] == 1}
               <li class="quisommesnous"><a href="#"></a></li>
            {/if}
            {if $nodelist[foo] == 2}
               <li class="activite"><a href="#"></a></li>
            {/if}
            {if $nodelist[foo] == 3}
               <li class="recrutement"><a href="#"></a></li>
            {/if}
         {/if}      
    {/section}
    </ul>
</div>
{/if}


Mais j'ai l'impression que ça ne rentre pas dans le if {if $nodelist[foo]->depth == 1}
Back to top
View user's profile Send private message
newty
Smarty Rookie


Joined: 31 Jul 2008
Posts: 7

PostPosted: Mon Aug 04, 2008 7:28 am    Post subject: Reply with quote

:bounce:
Back to top
View user's profile Send private message
newty
Smarty Rookie


Joined: 31 Jul 2008
Posts: 7

PostPosted: Mon Aug 04, 2008 8:17 am    Post subject: Reply with quote

Je pensais vraiment trouver de l'aide ici.... Il n'y a vraiment personne qui puisse m'aider ? Sad
Back to top
View user's profile Send private message
arnogb69
Smarty Rookie


Joined: 07 May 2008
Posts: 11

PostPosted: Tue Aug 05, 2008 6:51 am    Post subject: Reply with quote

Allez, on va le résoudre ^^

Est-ce que perso, je n'aime pas trop les sections, je préfère le foreach, comme toi, mais bon...

Pour ton menu, à quoi correspond ton $count?

A mon avis, ton idée est bonne, mais je crois que j'avais eu le même problème avec un compteur, essaie de l'initialiser et de l incrementer différement, à l'aide de la fonction http://www.smarty.net/manual/fr/language.function.counter.php plutôt qu'avec ton propre compteur


Code:

<!-- Avec une SECTION -->

<!-- Initialisation du compteur -->
{counter start=0 assign=compteur}

<!-- on boucle "loop" fois -->
{section name=test2 loop=5}
   <!-- la tu fais ton affichage en fonction de tes variables-->
   {$smarty.section.test2.iteration} <!-- compte le nombre d iterations dans ta boucle -->
   {$compteur} <!-- idem que la liste ci-dessus -->
   {counter} <!-- Incremente le compteur ici -->
{/section}


La différenciation va être pratique si tu as des 'if' et que tu ne souhaites pas incrémenter ton compteur à chaque passage de boucle... (ce qui n'est pas forcément le cas pour toi, mais on ne sait jamais)

Tiens moi au courant
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP