Welcome, you're not connected. ( Log in - Register )

Les commandes sont pour le moment fermées jusqu'à nouvel ordre, mais je peux assurer le support.

Merci de votre compréhension.


Requests are currently closed, but I can do some support.

Thanks for your understanding.




Important links - Liens importants

Règles - Rules | Présentez-vous - Introduce yourself | Problème d'inscription ? - Registration problem ?

Ishimaru-Design > Tutoriaux, ressources et support (fr) > Connectix Boards > Tutoriels & Astuces > Page correspondante = Lien d'une couleur différente

RSS >  Page correspondante = Lien d'une couleur différente, dans le menu de navigation
Ishimaru Chiaki #1 22/09/2009 - 03h47

Class : ID Admin
Posts : 1437
Registered on : 12/11/2007
Age : 28
Sex : Female

Offline Mail Www

Admettons que vous voulez par exemple que le lien "Membres" soit coloré différemment si vous vous trouvez sur la page Membres, que le lien "Règles" soit coloré différemment si on se trouve sur la page "Règles" et ainsi de suite, pour tous les liens du menu, voici une astuce que j'ai écrite en répondant à un membre sur le forum de support Connectix Boards.

Pour arriver à cela, il suffit d'utiliser 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.

Cette astuce a été testée sur un forum Connectix Boards utilisant le skin Zephyr et le template Official

Voici d'abord la variable utilisée pour obtenir la position du visiteur :
$_SESSION['cb_user']->connected_position

Ainsi que la valeur pour chaque page où les liens du menu mènent :
index_showusers
index_connusers
index_search
index_rules
index_modpanel


En 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 Notepad++ (Windows) ou gedit/kate (Linux), on ouvre le fichier templates/Official/gen_contents.php (en remplaçant "Official" par le nom du template personnalisé s'il y a lieu).

Puis on 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>
       <li><a href="<?php echo manage_url('index.php?act=cu', 'forum-connected.html'); ?>" id="hm_connected"><span><?php echo lang('connected_people'); ?></span></a></li>
       <li><a href="<?php echo manage_url('index.php?act=src', 'forum-search.html'); ?>" id="hm_search"><span><?php echo lang('search'); ?></span></a></li>
       <li><a href="<?php echo manage_url('index.php?act=rules', 'forum-rules.html'); ?>" id="hm_rules"><span><?php echo lang('rules'); ?></span></a></li>
       <?php if ( $g_user_admin ): ?>
       <li><a href="<?php echo manage_url('admin.php', 'forum-admin.html'); ?>" id="hm_admin"><span><?php echo lang('paneladmin'); ?></span></a></li>
       <?php endif; ?>
       <?php if ( $g_user_mod ): ?>
       <li><a href="<?php echo manage_url('index.php?act=mods', 'forum-moderators.html'); ?>" id="hm_mods"><span><?php echo lang('modpanel'); ?><?php if ( isset($g_nbreports) && $g_nbreports > 0 ): ?> (<?php echo lang(array('item' => 'modpanel_nbreports','nb' => $g_nbreports)); ?>)<?php endif; ?></span></a></li>


Juste entre <a et href de chaque lien (excepté pour le lien Administration), on insère le bout de code suivant :
<?php if($_SESSION['cb_user']->connected_position == 'maposition'): ?>class="active" <?php endif; ?>

Ce qui 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>
       <li><a <?php if($_SESSION['cb_user']->connected_position=='index_connusers'): ?>class="active" <?php endif; ?>href="<?php echo manage_url('index.php?act=cu', 'forum-connected.html'); ?>" id="hm_connected"><span><?php echo lang('connected_people'); ?></span></a></li>
       <li><a <?php if($_SESSION['cb_user']->connected_position=='index_search'): ?>class="active" <?php endif; ?>href="<?php echo manage_url('index.php?act=src', 'forum-search.html'); ?>" id="hm_search"><span><?php echo lang('search'); ?></span></a></li>
       <li><a <?php if($_SESSION['cb_user']->connected_position=='index_rules'): ?>class="active" <?php endif; ?>href="<?php echo manage_url('index.php?act=rules', 'forum-rules.html'); ?>" id="hm_rules"><span><?php echo lang('rules'); ?></span></a></li>
       <?php if ( $g_user_admin ): ?>
       <li><a href="<?php echo manage_url('admin.php', 'forum-admin.html'); ?>" id="hm_admin"><span><?php echo lang('paneladmin'); ?></span></a></li>
       <?php endif; ?>
       <?php if ( $g_user_mod ): ?>
       <li><a <?php if($_SESSION['cb_user']->connected_position=='index_modpanel'): ?>class="active" <?php endif; ?>href="<?php echo manage_url('index.php?act=mods', 'forum-moderators.html'); ?>" id="hm_mods"><span><?php echo lang('modpanel'); ?><?php if ( isset($g_nbreports) && $g_nbreports > 0 ): ?> (<?php echo lang(array('item' => 'modpanel_nbreports','nb' => $g_nbreports)); ?>)<?php endif; ?></span></a></li>


Ensuite, il ne reste qu'à assigner la couleur choisie à la nouvelle classe créée et donc, on ouvres le fichier style.css du skin choisi et on cherche ceci :
#headmenu li a {
   color:white;
   font-size:0.865em;
   font-weight:bold;
}

(note : j'ai pris l'exemple de Zephyr)

Juste après, on rajoute ceci :
#headmenu li a.active {
   color:#xxxxxx;
}

en remplaçant xxxxxx par le code hexa de la couleur choisie.

 >  Fast reply

Message

Ishimaru-Design > Tutoriaux, ressources et support (fr) > Connectix Boards > Tutoriels & Astuces > Page correspondante = Lien d'une couleur différente

 >  Stats

1 user(s) connected during the last 10 minutes (0 member(s) and 1 guest(s)).