我有一个自定义模板,可以在某个位置渲染模块。该模块对数据库进行查询并根据结果进行渲染。但是,如果对数据库的查询返回空行,则不必显示模块。
我在模板中有这个:
<!-- lo más de la semana -->
<?php if ($this->countModules('lo-mas') > 0): ?>
<div class="row">
<div class="lomas"> <h3>LO MÁS DE LA SEMANA</h3></div>
<jdoc:include type="modules" name="lo-mas" />
</div>
<?php endif; ?>
<!-- fin lo más de la semana -->
我可以在“lo-mas”位置有几个模块,但如果由于某种原因,所有模块都没有呈现任何输出,我不希望显示标题(“LOMÁSDELA SEMANA” “)
Joomla 3有可能吗?
答案 0 :(得分:0)
我认为你可以通过手动渲染模块来解决这个问题:
<?php
jimport( 'joomla.application.module.helper' );
$modules = JModuleHelper::getModules( 'lo-mas' );
$output = '';
foreach ($modules as $module) {
$output .= JModuleHelper::renderModule($module);
}
if (trim($output)){
?>
<div class="row">
<div class="lomas"> <h3>LO MÁS DE LA SEMANA</h3></div>
<?php echo $output; ?>
</div>
<?php
}
?>
你可以通过某种方式指定样式(通常是xhtml),并将更多的html代码应用到输出中,来确定你的模块是如何呈现的......