Joomla, modifier le template du menu
MONTRE PAS CHER (non vérifié)
03 juin 2011 3h18
Il est judicieux de parler avec leurs services en montre rolex pas cher utilisant l'acheteur privé dans le but de vérifier la qualité des services. Comme uniquement lorsque vous êtes victime à l'intérieur de la recherche et l'examen concernant les détails, vous êtes sans doute à venir sur toute une réplique parfaite Breitling vue pour vous-même. Ne perdez pas de temps matériaux tout beaucoup plus rapidement et de considérer l'activité à venir sur montre seiko pas cher toute une grande pièce!
lupelam (non vérifié)
05 septembre 2011 15h59
There are some interesting points in time in this article but I don’t know if I see all of them center to heart. There is some validity but I will take hold opinion until I look into it further. Good article , thanks and we want more! Added to FeedBurner as well
_________
capsule nespresso Expert
Référencement naturel (non vérifié)
18 octobre 2011 16h09
Bonjour, à quoi correspond la variable $node ??
___________________________
Référenceur et réalisations Web



Note: ce code est pour Joomla 1.5, mais le principe est le même pour la version 1.6, il devrait en théorie fonctionner aussi.
Dans le cadre d'une refonte graphique d'un site j'ai besoin de distinguer les éléments d'un menu de navigation pairs et impairs, joomla n'offrant pas ce comportement par défaut j'ai du modifier le template du menu.
Pour info, on ne modifie jamais le template d'un composant ou d'un module directement, on le surcharge. On copie le fichier de template dans le dossier du thème, Joomla ira tout d'abord voir si il existe un surchargement du template et le cas échéant utilisera celui par défaut.
Donc dans mon cas j'ai copier le fichier /modules/mod_mainmanu/tmpl/default.php dans le dossier /html/mod_mainmenu/ à la racine de mon thème.
Ensuite pour pouvoir distinguer un élément sur deux dans mon menu j'ai simplement ajouté le code suivant:
$i = 0;foreach ($node->children() as $child)
{
if ($child->name() == 'li') {
$case = ($i%2==0) ? 'odd' : 'even';
if ($child->attributes('class')) {
$child->addAttribute('class', $child->attributes('class').' '.$case);
} else {
$child->addAttribute('class',' '.$case);
}
$i++;
}
}
Du coup suivant si $i est pair ou nom j'ajoute soit la class odd ou even à mon élément de menu.