Jump to content

couleur lien selon page active.


Recommended Posts

Bonjour,

 

Alors voila le soucis. Dans mon header, je possède 2 liens (comme un menu) un boutique et un blog.

 

J'aimerais que quand je suis sur toutes les pages qui commence par http://www.tribuzig.com/blog/ le lien blog au lieu d'être en noir s'affiche en blanc.(boutique reste noir).

Et dans le cas contraire, ci je suis sur toutes les pages qui commence par le lien de la boutique que ce soit boutique qui devienne blanc et blog redevient noir.

 

Mes liens ce situe dans le bloc suivant: blockpermanentlinks.

 

Un lien d'exemple : http://www.archiduchesse.com/ eu xc'est un carré blanc derrière moi je veux juste changer la couleur du lien.

 

Merci de votre aide.

Link to comment
Share on other sites

hello,

 

la première chose à savoir est ce que tu utilises pour faire le menu en question

ensuite, inspecte le code avec firebug pour voir si ce que tu utilises applique une classe à l'élément de menu en question quand il est active (genre menu_actif comme sur archiduchesse par ex)

si oui, plus qu'à styler en fonction de la classe en question, si pas, tu es bon pour faire en sorte que ce soit le cas :)

 

have swing

Link to comment
Share on other sites

voila le code que j'ai

 

 

<!-- Block permanent links module HEADER -->

<div id="header_links">

<form id="setLien" action="{$request_uri}" method="post">

<ul>

<li id="header_link_boutique"><a href="http://www.tribuzig.com/PrestaShop/fr/" title="{l s='Boutique' mod='blockpermanentlinks'}">{l s='Boutique' mod='blockpermanentlinks'}</a></li>

<li id="header_link_blog"><a href="http://www.tribuzig.com/blog" title="{l s='Blog' mod='blockpermanentlinks'}">{l s='Blog' mod='blockpermanentlinks'}</a></li>

 

</ul>

</form>

</div>

<!-- /Block permanent links module HEADER -->

 

Concrètement faut que je fasse quoi? car j'utilise pas firefox.

Link to comment
Share on other sites

<p>hello,</p>

<p> </p>

<p>ach, bon si tu n'utilises pas firefox, j'espère au moins que tu utilises chrome qui a l'équivalent chromebug :)</p>

<p>sinon, bon, tes liens sont dans le bloc permanentlinks, too bad,ce block ne prévoit pas la gestion de class pour les liens actifs comme tu peux le voir dans le template</p>

<p> </p>

<p>je serais toi j'ajouterais un petit plugin à smarty pour qu'il gère preg_match (ce qui n'est pas le cas nativement) et dans les liens je jouerais avec la présence ou pas de blog dans l'uri</p>

<p> </p>

<p>pas clair ? :)<br />

bon, je t'ai écrit ce mini plugin (t'inquiète il me resservira aussi :))<br />

<span>

<?php<br />
function smarty_modifier_match($string, $find)<br />
{<br />
   if(!empty($string) )<br />
   {<br />
       if (preg_match('#'.$find.'#', $string)) return true;<br />
       else return false;<br />
   }<br />
   return false;<br />
}<br />
?></span></p>
<br />
<p> </p>
<p><span>

</span></p>

<p><span>prends-ça et mets-le dans un fichier que tu enregistres sous le doux nom de modifer.match.php dans le dossier tools/smarty/plugins, jusque là ça va ? :)</span></p>

<p><span>ensuite, ben plus qu'à jouer avec</span></p>

<p><span><span>

<!-- Block permanent links module HEADER --><br />
<div id="header_links"><br />
<form id="setLien" action="{$request_uri}" method="post"><br />
<ul><br />
<li id="header_link_boutique"><a href="http://www.tribuzig.com/PrestaShop/fr/" title="{l s='Boutique' mod='blockpermanentlinks'}"{if $smarty.server.REQUEST_URI|match:'PrestaShop'} class="activ_link"{/if}>{l s='Boutique' mod='blockpermanentlinks'}</a></li><br />
<li id="header_link_blog"><a href="http://www.tribuzig.com/blog" title="{l s='Blog' mod='blockpermanentlinks'}"{if $smarty.server.REQUEST_URI|match:'blog'} class="activ_link"{/if}>{l s='Blog' mod='blockpermanentlinks'}</a></li><br />
</ul><br />
</form><br />
</div><br />
<!-- /Block permanent links module HEADER -->

</span></span></p>

<p><span>et voilou, si smarty trouve PrestaShop dans l'url il mettra class="active_link" (mets ce que tu veux oeuf corse, laisse juste l'espace avec class= pour faire propre :)) dans le lien, pareil pour le lien blog s'il trouve blog</span></p>

<p><span>(au passage, drôle d'idée les maj dans l'url mais si tu le changes pense à le changer aussi dans l'appel à match)</span></p>

<p> </p>

<p><span>normalement tout ça devrait fonctionner sans problème (j'ai testé en local sur mon prestashop spécial bidouille et ça marche :))</span></p>

<p> </p>

<p><span>have swing</span></p>

<br />

 

Link to comment
Share on other sites

pétard qu'est ce qu'il me fait le forum là, c'est illisible le truc, je retente les lignes de code, bon courage pour lire mon blabla

 

le modifier

<?php
function smarty_modifier_match($string, $find)
{
   if(!empty($string) )
   {
       if (preg_match('#'.$find.'#', $string)) return true;
       else return false;
   }
   return false;
}
?>

ton menu

<div id="header_links">
<form id="setLien" action="{$request_uri}" method="post">
<ul>
<li id="header_link_boutique"><a href="http://www.tribuzig.com/PrestaShop/fr/" title="{l s='Boutique' mod='blockpermanentlinks'}"{if $smarty.server.REQUEST_URI|match:'PrestaShop'} class="activ_link"{/if}>{l s='Boutique' mod='blockpermanentlinks'}</a></li>
<li id="header_link_blog"><a href="http://www.tribuzig.com/blog" title="{l s='Blog' mod='blockpermanentlinks'}"{if $smarty.server.REQUEST_URI|match:'blog'} class="activ_link"{/if}>{l s='Blog' mod='blockpermanentlinks'}</a></li>
</ul>
</form>
</div>

 

have swing

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...