web-dev-qa-db-fra.com

Objet de modèle de menu dans Joomla 4

Est-ce que quelqu'un sait comment puis-je obtenir le modèle de menu actuel dans Joomla 4? Dans 2.5/3.X j'utilisais ce code:

    $model = JModelLegacy::getInstance( 'MenusModelItem' )
            ->getItem();

Mais cela ne fonctionne plus en 4. Je ne peux pas trouver un moyen de l'obtenir en J4.

Cordialement, Radek

3
Radek Suski

Pour obtenir un élément de menu dans Joomla 4, vous pouvez obtenir l’élément de l’usine comme

use Joomla\CMS\Factory;
$menu = Factory::getApplication()->getMenu();
$active = $menu->getActive();

getActive () donnera l'élément de menu actuel, vous pouvez utiliser d'autres méthodes getDefault () ou getItem () selon vos besoins.

Vous pouvez obtenir des éléments de menu avec le type de menu comme

$items = $menu->getItems('menutype', 'mainmenu');
3
Pratyush