如何检查Joomla模块是否有输出?

时间:2016-08-13 02:30:58

标签: joomla joomla3.0 joomla-module

我有一个自定义模板,可以在某个位置渲染模块。该模块对数据库进行查询并根据结果进行渲染。但是,如果对数据库的查询返回空行,则不必显示模块。

我在模板中有这个:

                    <!--  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有可能吗?

1 个答案:

答案 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代码应用到输出中,来确定你的模块是如何呈现的......