3

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

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

在模板/模板/html/com_content/category/blog.php 中还是我需要不同的代码?

4

2 回答 2

9

利用:

<?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 的,但我已经在 J​​oomla 的文章视图覆盖中对其进行了测试!3.3.6,它也有效。

于 2014-10-02T00:17:49.040 回答
1

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

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

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

于 2013-10-12T03:03:46.590 回答