1

我只是在 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';
    }

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

4

1 回答 1

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 xD )。没有它,Joomla 应该无法设置正确的活动菜单链接。

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

我希望这会有所帮助^^

于 2013-10-13T01:48:12.270 回答