2

我在一页上使用多个菜单。在多个 div 中,我显示了一个菜单(menu1 到 menu6)。出于模板目的,我想让每个菜单的菜单标题显示在顶部。我无法从菜单中获取标题。

我发现这是获取菜单项的方法。

<?php
$menu = $app->getMenu();
$menu_items = $menu->getItems('menutype', 'menu1');
var_dump ($menu_items);
?>

不可能这么难,但找不到正确的语法。谁能帮帮我?

提前致谢,

威姆斯

4

4 回答 4

8

你也可以使用这个:

$menu = &Jsite::getMenu();
$menuname = $menu->getActive()->title;

或者如果已经$app = JFactory::getApplication();存在

$menu = $app->getMenu();
$menuname = $menu->getActive()->title;
于 2013-05-19T14:42:09.010 回答
4

以下代码在 Joomla 3.0 中适用于我:

$app = JFactory::getApplication();

$menu = $app->getMenu();
$menuname = $menu->getActive()->title;
于 2013-10-17T11:46:26.767 回答
2

用这个:

/** Getting the Menu ID of Menu was clicked by user **/
$menu    =   &JSite::getMenu(); 
$id    =   $menu->getActive()->id;

/** Getting the Title of the Menu by using id. **/ 
$db    = JFactory::getDBO();
$query    = "SELECT title FROM kjs_menu WHERE id = $id";
$db->setQuery($query);
$rows    = $db->loadObjectList();
$itemrow = $rows[0];
$title   =   $itemrow->title;

echo "Menu you have clicked is : ".$title;
于 2012-12-19T12:40:17.867 回答
0

从 Joomla 3.8 开始,您可以使用名称间距:

use Joomla\CMS\Factory;

echo Factory::getApplication()->getMenu()->getActive()->title;
于 2019-12-19T11:14:09.807 回答