Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2012, 10h35   #1
Membre habitué
 
Inscription : octobre 2005
Messages : 641
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 641
Points : 143
Points : 143
Par défaut Conception d'un menu

Bonjour,

Nouvel utilisateur de Smarty, je suis confronté à la réalisation d'un menu principal.
Actuellement, j'ai du HTML basique :
Code :
1
2
3
4
5
<ul>
<li><a class="active" href="/">Accueil</a></li>
<li><a class="" href="/page1.html">Page 1</a></li>
<li><a class="" href="/page2.html">Page 2</a></li>
</ul>
Connaissez-vous une méthode pour simplifier la gestion de la page "active" ?

Merci pour votre aide !
Tchupacabra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 16h50   #2
Membre habitué
 
Inscription : octobre 2005
Messages : 641
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 641
Points : 143
Points : 143
Je viens de me rendre compte que l'intégration de code PHP dans un template n'est pas conseillé...

du coup, je vois vraiment pas comment spécifier la page active en CSS.
Tchupacabra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 21h48   #3
Expert Confirmé
 
Avatar de krachik
 
Inscription : décembre 2004
Messages : 1 957
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 957
Points : 2 646
Points : 2 646
Bonjour,

Oui l'intégration de code php dans les tpl c'est le mal , sachant smarty permet dans un large pourcentage de cas de faire la chose que cette intégration aurait pu faire.

Pour ce que tu veux faire, sachant que tu peux identifier sur quelle page tu te trouve à tout moment, pour spécifier la page active, il suffit de faire un test sur l'id de la page active et le tour est joué, quelque chose dans ce style:
Code :
1
2
3
4
5
<ul>
<li><a {if $id_page eq 'ma_page_index'}class="active"{/if} href="/">Accueil</a></li>
<li><a {if $id_page eq 'ma_page1'}class="active"{/if} href="/page1.html">Page 1</a></li>
<li><a {if $id_page eq 'ma_page2'}class="active"{/if} href="/page2.html">Page 2</a></li>
</ul>
__________________
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
krachik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 17h51   #4
Membre habitué
 
Inscription : octobre 2005
Messages : 641
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 641
Points : 143
Points : 143
ok merci... ça fonctionne avec le php :
Code :
$smarty->assign('id_page', (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''));
Tchupacabra est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h50.


 
 
 
 
Partenaires

Hébergement Web