Bonjour,
après avoir cherché sur plusieurs forums sur le net,
je me décide à vous demander votre aide, car je nage un peu.
Je fais un site prestashop. Chaque fichier php a son double en .tpl ou se trouve mon code html. J'ai un menu unique pour mon site (situé dans le header) qui est appelé à chaque page. Ce que je souhaiterai faire c'est que lorsque je suis sur ma page courante, le lien du menu soit différent pour signifier que l'on est sur telle ou telle page. Vous voyez?
J'ai bien vu ce tuto : http://forum.alsacreations.com/topic-4-68675-1-Onglet-du-menu-colore-quand-on-est-sur-la-page.html
Mais je n'arrive pas à le comprendre ni à l'adapter à mon site (puisque je ne peut pas mettre de php dans mon .tpl)
Voici mon code :
<nav>
<ul>
<li id="bout"><img src="{$img_dir}icone/menu1.png" ></li>
<li id="istoirede" ><a href="{$link->getCMSLink('11', 'histoire-de')}" title="{l s='Histoire de… '}">{l s='Histoire de…'}</a></li>
<li id="collectionde"><a href="{$link->getPageLink('main-collection.php')}">{l s='Collections'}</a></li>
<li id="indi"><a href="{$link->getCMSLink('16', 'indiscretions-atelier')}">{l s='Indiscrétions d atelier'}</a></li>
<li id="ou"><a href="{$link->getCMSLink('7', 'points-de-vente')}" title="{l s='Points de vente'}">{l s='Où me trouver'}</a></li>
<li id="tact"><a href="{$link->getPageLink('contact')}">{l s='Contactez-moi'}</a></li>
<li id="shop-header"><a href="{$link->getPageLink('e-shop.php')}">{l s='Boutique'}</a></li>
</ul>
</nav>

ah oui, j'ai oublié de vous dire... le code html, css ça va mais php… c'est autre chose

Merci à vous
Bonjour,

Ça se déroule en 3 étapes :

1. Détecter quelle est la page active (par le biais d'un ID, d'un alias, ou d'une référence quelconque...)normalement le nom de la page est définis dans la variable super globale {$page_name}, mais il doit y avoir d'autre moyens... ;

2. Ajouter une conditions sur chaque liens afin de déterminer si il s'agit du lien vers la page active
(voir http://www.smarty.net/docsv2/fr/language.function.if.tpl);

3. Si il s'agit du lien vers la page active, ajouter une classe CSS (exemples : "active" ou "current").

Bon courage !
Modifié par Soundboy39 (27 May 2014 - 12:53)
Merci.

Mais comme je le disais je suis sur un prestashop. Donc je ne sais pas ou mettre le code puisqu'il ne peut y avoir de php dans un .tpl
Ce n'est pas du PHP mais bien une syntaxe Smarty utilisée dans les fichiers ".tpl" de Prestashop.

D'ailleurs mon lien pour le if/else renvois bien vers la doc officielle smarty.net