在替代布局中加载Joomla模块

时间:2017-02-10 21:11:03

标签: php joomla

我为博客文章视图创建了另一种布局。如果模块已发布,我想在此布局中加载一个模块,就像我在index.php中做的那样:

<?php if ($this->countModules('breadcrumb')) : ?>
    <div class="breadcrumb">
        <jdoc:include type="modules" name="main-slider" style="none" />
    </div>
<?php endif; ?>

此代码在替代布局.php文件中不起作用。我应该如何修改代码以显示该页面中的模块,仅当模块已发布?

2 个答案:

答案 0 :(得分:1)

您可以使用此

jimport( 'joomla.application.module.helper' );//call module helper class
$modules = JModuleHelper::getModules('main-slider');//call the module
foreach ($modules as $module){
   echo JModuleHelper::renderModule($module);//display it
}

答案 1 :(得分:0)

解决这个问题,例如:

<?php if($modules =& JModuleHelper::getModules('sidebar')) : ?>
    <div class="<?php echo $secclassr; ?>">
        <?php
            $modules =& JModuleHelper::getModules('sidebar');

            foreach ($modules as $module)
            {
                echo JModuleHelper::renderModule($module);
            }
        ?>
    </div>
<?php endif; ?>