我有一个joomla网站,我只想在主页上有模块内容。我找到了其他解决方案,但它们似乎适用于joomla 3.0和Gantry框架。有没有人有这个更新的解决方案?
这是我需要为hompage隐藏的代码:
<?php /** Begin Main Body * */ ?>
<?php echo $gantry->displayMainbody('mainbody', 'sidebar', 'standard', 'standard', 'standard', 'standard', 'standard'); ?>
<?php /** End Main Body * */ ?>
我想知道是否有一种方法可以使用条件来隐藏此代码仅用于此帖子中的hompage:
答案 0 :(得分:1)
将此代码添加到html部分之前的模板文件的开头(但在php标记内):
$app = JFactory::getApplication();
$menu = $app->getMenu();
$isFrontPage = $menu->getActive() == $menu->getDefault();
然后你可以用这个代替行:
<?php if (!$isFrontPage) echo $gantry->displayMainbody('mainbody', 'sidebar', 'standard', 'standard', 'standard', 'standard', 'standard'); ?>
答案 1 :(得分:0)
一种可能的解决方案是添加一个名为disable_content的新位置,并检查其中是否存在活动模块。 如果是这样,您就不会显示内容。
要添加位置,请在<positions>
<positions>
..
<position>disable_content</position>
现在检查你是否有活动模块只需使用:
$disable_content = (bool) $this->countModules('disable_content');
所以现在你可以使用
<?php if (!$disable_content) : ?>
<?php echo $gantry->displayMainbody('mainbody', 'sidebar', 'standard', 'standard', 'standard', 'standard', 'standard'); ?>
<?php endif; ?>