一般模板都会默认显示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的时候就不隐藏

 

原创文章,转载请标明出处

除特殊标明文章转自第三方网站,文章均由JOOMLASK.COM原创提供
欢迎友情转载,请务必保留本文出处并引用本文链接: joomla模板首页无内容时自动隐藏主体内容区域