我正在为类别博客视图创建一个覆盖,我希望在此布局中有一个模块位置。那么,是否可以放置
<jdoc:include type="modules" name="modName" style="none" />
在模板/模板/html/com_content/category/blog.php 中还是我需要不同的代码?
利用:
<?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,它也有效。
jdoc:include 标记在您的覆盖中不起作用。您需要的是以下代码(将 MODULEPOSITION 替换为职位名称)。
<?php
jimport('joomla.application.module.helper');
$modules = JModuleHelper::getModules('MODULEPOSITION');
foreach($modules as $module) {
echo JModuleHelper::renderModule($module);
}
?>
要将模块发布到该位置,您只需在位置字段中徒手键入它并按 Enter,您无需在 XML 文件中指定它。