Joomla模板 - 在主页上

时间:2018-06-01 05:20:57

标签: joomla joomla3.0

我想创建一个joomla 3.x模板,该模板在主页上显示的页面与在所有页面上的不同。

使用以下代码可以正常工作:

$app = JFactory::getApplication();
$menu = $app->getMenu();
$lang = JFactory::getLanguage();
$isHomePage = $menu->getActive() == $menu->getDefault($lang->getTag());

当我点击一个菜单项时,$ isHomePage是" false"我可以展示不同的布局。

但是当我从主页上的精选文章列表中打开文章时,菜单项仍然是主页,但用户确实看到了该文章。

如果用户确实在主页上,我该如何获取信息?

1 个答案:

答案 0 :(得分:0)

根据我的理解,内页条件在内页上变为真实是因为如果文章没有任何菜单,则从当前菜单中获取它。因此,点击主页文章链接会带有主页菜单ID。

我可以建议一些替代方案 -

1)检查URL - 检查当前URL是否等于站点页面URL。

$uri = JUri::getInstance(); 
$currentUrl = trim($uri->toString(),'/');
$homeUrl = trim(JUri::root(),'/');
$isHomePage = $currentUrl == $homeUrl;

2)检查带有内页参数的主页参数。例如,如果您的主页属于文章且ID为X,请检查请求params,检查optionid param到com_contentid == X

我希望这可能会有所帮助。