自定义Mod_menu覆盖中的代码含义

时间:2013-10-12 13:52:06

标签: joomla joomla2.5 joomla-extensions joomla3.0 joomla1.7

我只是在Joomla 3中创建自定义mod_menu

我想知道是否有人可以如此善良并解释这段代码意味着什么,因为我找不到任何参数$ item-> params-> get('aliasoptions)这个代码块是什么实际做菜单项? - (第37行 - 从mod_menu的tmpl文件夹中的default.php获取的代码)

    $aliasToId = $item->params->get('aliasoptions');
    if (count($path) > 0 && $aliasToId == $path[count($path) - 1])
    {
        $class .= ' active';
    }
    elseif (in_array($aliasToId, $path))
    {
        $class .= ' alias-parent-active';
    }

对此的任何解释都是最有帮助的,我想知道它是否真的需要?

1 个答案:

答案 0 :(得分:0)

来自helper.php的相应功能

case 'alias':
// If this is an alias use the item id stored in the parameters to make the link.
$item->flink = 'index.php?Itemid=' . $item->params->get('aliasoptions');
break;

因此,如果你看一下default.php中的函数,你会看到这段代码:

foreach ($list as $i => &$item) :
$class = 'item-'.$item->id;

并使用if子句,然后是您要求的代码。

那基本上是什么(根据我的理解):

如果链接只是另一个菜单项的别名,则使用itemparameters中定义的项ID(基本上只是项id id xD)。没有它,Joomla就不能设置正确的活动菜单链接。

您可以在菜单项类型选项中选择菜单项别名:“系统链接 - >菜单项别名”,在创建或编辑菜单项时;)

我希望这有助于^^