在joomla中,如何将模块位置置于类别视图覆盖范围内?

时间:2012-11-12 22:05:28

标签: php joomla

我正在为类别博客视图创建一个覆盖,我希望在此布局中有一个模块位置。那么,是否可以放置

<jdoc:include type="modules" name="modName" style="none" />

在templates / template / html / com_content / category / blog.php中,还是需要不同的代码?

2 个答案:

答案 0 :(得分:8)

使用:

<?php
$document = JFactory::getDocument();
$renderer = $document->loadRenderer('modules');
$position = "YOURPOSITIONNAME";
$options = array('style' => 'raw');
echo $renderer->render($position, $options, null);
?>

来源:http://www.jeepstone.co.uk/2012/07/26/load-module-position-in-template-override-in-joomla-2-5/

文章写了Joomla 2.5,但我在Joomla的文章视图覆盖中测试了它! 3.3.6并且它也有效。

答案 1 :(得分:1)

jdoc:include标记在您的覆盖中不起作用。您需要的是以下代码(将MODULEPOSITION替换为位置名称)。

<?php
jimport('joomla.application.module.helper');
$modules = JModuleHelper::getModules('MODULEPOSITION'); 
foreach($modules as $module) {
    echo JModuleHelper::renderModule($module);
} 
?>

要将模块发布到该位置,您只需徒手将其输入到位置字段并按Enter键,您无需在XML文件中指定它。