J'ai beaucoup cherché mon problème sur Google et je n'ai pas trouvé de solution. Je crée un site Web utilisant Joomla qui prend en charge les langues anglaise et néerlandaise. J'ai suivi des tutoriels en ligne et créé 2 menus (distincts de mon menu principal) qui ne contiennent que l'élément de menu Home
qui est défini sur la page par défaut pour la langue (1 pour le néerlandais et 1 pour l'anglais). Le problème est quand je suis sur ma page d'accueil (index.php/en
ou index.php/nl
) l’élément de menu Home
n’obtient pas le "active"
class donc ce n'est pas surligné. Je pourrais utiliser JS pour inventer un moyen hacky de le souligner, mais je suis sûr que je fais quelque chose de mal et qu'il devrait exister un meilleur moyen de résoudre mon problème. Comment dois-je configurer mes menus pour que cela fonctionne comme prévu?
Si vous utilisez la dernière version de Joomla (3.8.2 au moment de la rédaction) (je ne vérifierai pas explicitement chaque version 3.x de Joomla) et si vous utilisez le module principal mod_menu
, Vous devrait obtenir une active
classe CSS ajoutée à l'élément parent (li
) de votre lien hypertexte lorsque vous utilisez un mod_menu
module.
Voir les lignes 36 à 39 et les lignes 44 à 47 de modules/mod_menu/tmpl/default.php
:
https://github.com/joomla/joomla-cms/blob/3.8.2/modules/mod_menu/tmpl/default.php
Bien qu'il soit possible que le modèle de votre module de base mod_menu
Soit modifié au moyen d'un modèle (personnalisé) ou d'un remplacement de la présentation.
Si vous utilisiez un modèle tiers ou personnalisé appelé yourcustomtemplate
, il se peut que vous trouviez un remplacement pour modules/mod_menu/tmpl/default.php
Dans templates/yourcustomtemplate/html/mod_menu/default.php
.
Vous pouvez également consulter l'onglet Créer des remplacements du gestionnaire de modèles:
https://docs.joomla.org/J3.x:How_to_use_the_Template_Manager/en#Creating_Overrides
Notez que ce n'est pas le lien hypertexte lui-même qui devrait se voir attribuer la classe CSS active
CSS, mais plutôt l'élément parent (l'élément list-item li
).