web-dev-qa-db-fra.com

Pourquoi les positions de mon modèle deviennent-elles Position personnalisée dans le Gestionnaire de modules?

J'ai créé la position de mes modules dans mon modèle et l'ai également déclarée dans le fichier XML. Désormais, dans le gestionnaire de modules, lorsque je sélectionne l’une de mes positions de module et que je sauvegarde le module, il apparaît ensuite sous forme de position personnalisée dans le champ de sélection Positions de module.

Mise à jour:

Je n'utilise aucun cadre. Juste un modèle joomla occasionnel. Les positions de module sont définies dans le XML et dans les fichiers de bloc du modèle (elles ne doivent donc pas être considérées comme des positions personnalisées) et sont affichées normalement dans le filtre Position de module dans Module Manager.

Mais après avoir sauvegardé un module, il l'ajoutera également dans le groupe Positions personnalisées du filtre, se terminant par la même position de module existante deux fois, 1 sous les positions mytemplate et 1 sous les positions personnalisées.

Cela rend les choses un peu déroutantes.

Mise à jour 2

Je viens de me rendre compte que cela se produit également par défaut, même avec le modèle Protostar, et probablement avec d'autres modèles. Après avoir affecté un module à une position, cette position devient également disponible dans les Positions de module personnalisées. N'est-ce pas le cas aussi pour quelqu'un d'autre?

1
FFrewin
  1. Je pense que l’étiquette <optgroup> Devrait être changée de "Position personnalisée" à "Déjà utilisé" ou "Positions sélectionnées" ou quelque chose comme ça. Pour ce faire, créez ou ouvrez le fichier

    /administrator/language/overrides/en-GB.override.ini
    

    et ajoutez cette ligne:

    COM_MODULES_CUSTOM_POSITION="Already Used"
    
  2. Aussi, il y a un mauvais moyen de se débarrasser du optgroup en commentant cette ligne

    $templateGroups[$customGroupText] = ModulesHelper::createOptionGroup($customGroupText, $customPositions);
    

    dans

    /administrator/components/com_modules/helpers/html/modules.php
    

    et choisissez des noms de position uniques dans le fichier XML de votre modèle.

1
Farahmand

Essayez également de définir les positions de vos modules en les nommant dans le fichier de langue du système de gabarit, par exemple;

en-GB.tpl_yourtemplatename.sys.ini

Nommez chaque position de la manière suivante: dans cet exemple, les positions de module sont l’en-tête, la bannière et le fil d’ariane et yourtemplatename est le nom de votre modèle;

TPL_YOURTEMPLATENAME_POSITION_HEADER="Header"
TPL_YOURTEMPLATENAME_BANNER="Banner"
TPL_YOURTEMPLATENAME_BREADCRUMBS="Breadcrumbs" 
1
Seth Warburton