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



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

我在模板中有这个:

                    <!--  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"的位置,但如果,由于某种原因,所有的模块不呈现任何输出,我不希望显示标题("LO MÁS DE LA SEMANA")

这在Joomla 3中可能吗?

我认为您可以通过手动渲染模块来解决这个问题:

<?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代码来确定模块的呈现方式。

相关内容

  • 没有找到相关文章

最新更新