web-dev-qa-db-fra.com

Ajouter un paramètre à l'élément de menu "url externe"

J'ai un menu dans joomla qui apparaît sur toutes les pages. Certains éléments du menu doivent être identiques sur chaque page, tandis que d'autres doivent être mis à jour de manière dynamique en fonction de la page sur laquelle l'utilisateur se trouve. J'essaie de créer un remplacement pour le type d'élément de menu "url externe" (répertorié sous liens système), qui me permettrait de créer un paramètre d'élément de menu que l'utilisateur pourrait renseigner. Ensuite, je pourrais utiliser ce paramètre dans le modèle de menu pour déterminer ce qui doit être ajouté à ce lien particulier.

J'ai pu ajouter des paramètres supplémentaires aux éléments de menu pour les composants personnalisés en modifiant leurs fichiers XML. Et je sais que Joomla autorise les remplacements de ces fichiers, mais je ne pense pas que l'élément de menu "url externe" soit créé à partir d'un fichier xml. Comment pourrais-je ajouter un paramètre supplémentaire à ces éléments de menu? Dois-je créer une sorte de plugin ou est-ce que je demande l'impossible?

2
asebold

L'élément de menu URL externe contient également un fichier XML (comme tous les formulaires de backend dans Joomla). Vous pouvez le trouver à l'intérieur:

administrator/components/com_menus/models/forms/item_url.xml

Ainsi, dans ce fichier (ou le remplacement correspondant), vous pouvez ajouter quelque chose comme (dans le fichier <fields> </fields>:

<fieldset name="custom" label="custom">
    <field name="menu_custom" type="text"
        label="Custom"
        description="Custom" />
</fieldset>

afin d'avoir votre onglet personnalisé pour vos champs personnalisés dans le backend.

Mise à jour:

Pour créer des substitutions pour les fichiers XML de modèle, lisez ce qui suit: Remplacer le XML de formulaire de modèle de composants de base

4
FFrewin

Pour tous ceux qui rencontrent ce problème:

Techniquement, la réponse de FFrewin était ce que je cherchais, mais ce n'était pas la solution au problème. Vous ne pouvez pas remplacer ces fichiers XML comme vous le pouvez pour la plupart des autres composants. J'ai fini par utiliser le plugin suggéré et cela fonctionne parfaitement pour moi.

http://extensions.joomla.org/extensions/extension/misc Miscellaneous/form-xml-override

1
asebold