无法在Joomla 2.5模板中正确检测Frontpage

时间:2012-05-28 09:02:33

标签: joomla-template joomla2.5 frontpage

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

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

当你在主页(或点击主菜单)时,这是有效的,但我在主页中有一个滑块,我在滑块中链接到一个文章,该文章不在应用程序的任何菜单项中。当我加载这篇文章时,上面的代码返回我在frontpage。我想如果我没有点击任何菜单项,$ menu-&gt; getActive()不会改变。

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

2 个答案:

答案 0 :(得分:2)

你可以做一件事来解决这个问题。创建一个隐藏的菜单,其中包含在滑块中链接的所有文章链接。通过创建隐藏菜单,链接将被初始化,$ menu-&gt; getActive()将适用于所有链接。希望它适用于您。< / p>

答案 1 :(得分:0)

我希望补充目前的答案,并提供一些澄清。

为了检测菜单选择,需要将页面分配给菜单项。如果这是一个隐藏的菜单,那么这个名为My Page的页面的链接将是:

/index.php/my-page - “my-page”是此商品的菜单标题别名

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

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

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

<强> /index.php/my-articles2/my-page

要创建隐藏菜单,只需创建另一个菜单即可。无论是否为其创建模块都无关紧要,但如果有人创建模块,那么就不应该为该模块分配任何位置。