3

我在 Joomla 文档中看到了在 Joomla 2.5 中创建模板时检测您是否在 Frontpage 中的方法。这是代码:

<?php 
$app = JFactory::getApplication(); 
$menu = $app->getMenu(); 
if ($menu->getActive() == $menu->getDefault()) { 
    echo 'This is the front page'; 
} 
?>

这在您位于主页(或单击主页菜单)时有效,但我在主页中有一个滑块,并且我在滑块中链接到不在应用程序任何菜单项中的文章。当我加载这篇文章时,上面的代码会像我在首页一样返回。我想如果我不点击任何菜单项, $menu->getActive() 不会改变。

有什么建议吗?提前致谢。

4

2 回答 2

2

你可以做一件事来解决这个问题。创建所有链接在滑块中的文章链接的隐藏菜单。通过创建隐藏菜单,链接将被初始化,$menu->getActive() 将对所有链接起作用。希望它对你有用。

于 2012-05-28T15:04:19.537 回答
0

我希望补充目前的答案并提供一些说明。

为了检测菜单选择,需要将页面分配给菜单项。如果这是一个隐藏菜单,那么指向名为“我的页面”的此类页面的链接将是:

/index.php/my-page - “my-page” 是该项目的菜单标题别名

但是,如果想要在同一页面的面包屑中显示正确的层次结构,则必须在隐藏菜单中复制菜单层次结构。

例如,如果“我的页面”在“我的文章”主菜单项下,则应在隐藏菜单中添加“我的文章”项,类型为:菜单项别名,位于菜单类型字段的系统子菜单中。我的页面项应该是我的文章的子菜单项。

隐藏菜单中的“我的文章”菜单项必须具有与主菜单中相同的不同的菜单别名,因此指向“我的页面”的新链接如下所示:

/index.php/my-articles2/我的页面

要创建隐藏菜单,只需创建另一个菜单。是否为它创建一个模块并不重要,但如果这样做了,那么就不应该为该模块分配任何位置。

于 2013-06-10T14:13:32.177 回答