在我的组件视图中,我可以通过以下代码显示一个模块:
$module = JModuleHelper::getModule('mod_login');
$html = JModuleHelper::renderModule($module);
echo $html;
或者
echo JHtml::_('content.prepare', '{loadmodule login}');
但这通常会将模块放置在主内容 div 的屏幕中间。
如何将模块放置在模块参数中定义的位置?
看看管理模板 Isis 如何在主页上呈现 quickicons 模块或 protostar 中的错误页面如何呈现搜索模块。
$this->searchmodules = JModuleHelper::getModules('position-0');
foreach ($this->searchmodules as $searchmodule)
{
$output = JModuleHelper::renderModule($searchmodule, array('style' => 'none'));
$params = new JRegistry;
$params->loadString($searchmodule->params);
echo $output;
}
您只需要一个模块,但您了解基本概念。
尝试这个。
您也可以传递模块参数。
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('module');
$Module = &JModuleHelper::getModule('mod_fmDataGrid');
$Params = "param1=bruno\n\rparam2=chris";
$Module->params = $Params;
echo $renderer->render($Module);
这可能会帮助你..
不能,模板中包含的 jdoc 会在组件完成输出后处理。
为什么不让 Joomla 将模块呈现在正确的位置?这应该是使用它的原因之一,即注意模块的放置和顺序。
如果您有其他原因,请进一步说明。