一般模板都会默认显示component主体部分内容,就算设置首页没内容也会显示主体部分的代码,这样在FF浏览器下就会产生多余的一部份空白区域,大多模板首页原代码如下(templates\模板名\index.php)
<div id="xxx" class="clearfix"><jdoc:include type="message" />
<jdoc:include type="component" />
</div>
而我希望它能像模块一样,当这个区域没内容的时候,就让它不显示出来
而模块都会有这个功能,没有模块就不显示,代码如下
<?php if($this->countModules('user5')) : ?>
<div id="user5" class="clearfix">
<jdoc:include type="modules" name="user5" style="jvxhtml" />
</div>
<?php endif; ?>
那么如果想要实现首页的component不显示,修改如下
<?php if (JRequest::getVar('view') != 'frontpage'): ?>
<div id="xxx" class="clearfix">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
<?php endif; ?>
参考文章:http://www.bigspring.co.uk/research/hiding-joomla-frontpage-content
=================================================
这样就会出现一些BUG,比如用zoo或K2的时候,就会同样有这样的条件option=com_content&view=frontpage
也就是说满足了view=frontpage,那么定义一个菜单到zoo或K2的首页的话,就会影响到zoo和K2的首页显示与否,那么就要在上述条件上加一判断条件,代码如下
<?php if (JRequest::getVar('option') != 'com_content' or JRequest::getVar('view') != 'frontpage'): ?>
<div id="xxx" class="clearfix">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
<?php endif; ?>
也就是说,当option不等于com_content或者view不等于frontpage的时候才隐藏,而option=com_zoo&view=frontpage的时候就不隐藏
原创文章,转载请标明出处