Connectix Boards
Bienvenue, vous n'êtes pas connecté. ( Se connecter - S'enregistrer )
Dernière version sortie: 0.8.4!
Venez tester la version 1.0 beta
Connectix Boards > Zone développement > Skins & Templates > lien actif
| victor27 | #1 17/09/2009 - 13h07 |
|
Groupe : Nouveau Hors ligne |
Bonjour à tous,
Je souhaiterais faire apparaître d'une couleur différente le lien de la page sur laquelle je me trouve (membres, personnes connectées, etc...) Je n'ai pas de problème avec le css ni pour créer ce type de comportement en html mais mes connaissances en PHP sont plus que limitées. Je n'ai pas trouvé d'exemple sur ce forum et je ne suis pas non plus parvenu à adapter au forum des tutos trouvés ici et là sur Internet. L'un de vous serait-il en mesure de me donner un exemple concret (un code type et son emplacement dans les fichiers concernés). Merci d'avance, Victor |
| Ishimaru Chiaki | #2 18/09/2009 - 06h24 |
|
Groupe : Doc-rédacteur Hors ligne Site Web |
Bonjour Victor et bienvenue sur Connectix Boards.
Je viens d'examiner le code et de faire des tests pour pouvoir te répondre, puisqu'effectivement, je pense que c'est la première fois que quelqu'un demande ça ici. Oui, c'est possible en utilisant un peu de PHP dans le template gérant le menu, pour afficher une classe CSS au lien correspondant à la page où l'on se trouve. Voici d'abord la variable utilisée pour obtenir la position du visiteur : $_SESSION['cb_user']->connected_positionAinsi que la valeur pour chaque page où les liens du menu mènent : index_showusersEn ordre : Membres, Connectés, Chercher, Règles, Modération Après, ce qu'il reste est d'utiliser une condition pour afficher la classe CSS aux liens si la valeur de la variable correspond au lien. Pour cela, avec ton Notepad++ (je te le conseille fortement si tu n'as que le vieux bloc-notes - si t'es sous Windows premièrement), ouvre le fichier templates/Official/gen_contents.php (tu peux remplacer Official par le nom de ton template personnalisé si tu en as un). Puis cherche ce bloc de code : <li><a href="<?php echo manage_url('index.php?act=members', 'forum-members.html'); ?>" id="hm_members"><span><?php echo lang('members'); ?></span></a></li>Juste entre <a et href de chaque lien (excepté pour le lien Administration), tu insère le bout de code suivant : <?php if($_SESSION['cb_user']->connected_position == 'maposition'): ?>class="active" <?php endif; ?>Ce qui te donne par exemple pour la liste des membres : <li><a <?php if($_SESSION['cb_user']->connected_position=='index_showusers'): ?>class="active" <?php endif; ?>href="<?php echo manage_url('index.php?act=members', 'forum-members.html'); ?>" id="hm_members"><span><?php echo lang('members'); ?></span></a></li>Ce qui donne, une fois appliqué aux différents liens : <li><a <?php if($_SESSION['cb_user']->connected_position=='index_showusers'): ?>class="active" <?php endif; ?>href="<?php echo manage_url('index.php?act=members', 'forum-members.html'); ?>" id="hm_members"><span><?php echo lang('members'); ?></span></a></li>Ensuite, il te reste à assigner ta couleur à la nouvelle classe créée et donc, tu ouvres le fichier style.css de ton skin et tu cherches ceci : #headmenu li a {(note : j'ai pris l'exemple de Zephyr) Juste après, tu rajoutes ceci : #headmenu li a.active {en remplaçant xxxxxx par le code hexa de ta couleur.
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici Mon fil Twitter |
| victor27 | #3 18/09/2009 - 07h48 |
|
Groupe : Nouveau Hors ligne |
Bonjour Ishimaru Chiaki
Je viens de tester ton code en faisant des simples "copier / coller" et il fonctionne nickel. C'est exactement ce que je cherchais à faire. Je n'ai plus qu'à adapter le css. Merci beaucoup pour ton aide et ta réactivité. @+ Victor
Ce message a été édité par victor27 le 19/09/2009 à 00h38.
|
Connectix Boards > Zone développement > Skins & Templates > lien actif
> Informations du forum
1 personne(s) présente(s) durant une période de 15 minutes (0 membre(s) et 1 invité(s)).
Powered by Connectix Boards 0.8.4 © 2005-2012 (7 queries, 0.066 sec)