web-dev-qa-db-fra.com

'Elément de menu' dans le fichier XML du module

En développement de module, j'utilise un champ pour un élément de menu (à partir de ces documents https://docs.joomla.org/Menuitem_form_field_type ). Je peux travailler à montrer l'élément de menu dans le XML:

<field name="menuitem1" type="menuitem" default="45" label="Select a menu item" description="Select a menu item" />

Je peux alors faire écho à ceci pour le frontend:

<a href="<?php echo $params->get('menuitem1');?>" >

Mais cela ne montre que l'ID de cet élément de menu. Comment puis-je le définir pour qu'il corresponde à l'URI réel de l'élément de menu sélectionné?

1
RustyJoomla

Vous pouvez obtenir l'URL en utilisant les éléments suivants:

$itemid = $params->get('menuitem1', 0);

$app = JFactory::getApplication();
$menu = $app->getMenu();
$link = $menu->getItem($itemid)->link;

echo JRoute::_($link);

$link vous fournira une URL non-SEF. Comme indiqué ci-dessus, vous pouvez utiliser JRoute pour le convertir en URL SEF.

J'espère que cela t'aides

1
Lodder