0

在我的组件视图中,我可以通过以下代码显示一个模块:

$module = JModuleHelper::getModule('mod_login');
$html = JModuleHelper::renderModule($module);
echo $html;

或者

echo JHtml::_('content.prepare', '{loadmodule login}');

但这通常会将模块放置在主内容 div 的屏幕中间。

如何将模块放置在模块参数中定义的位置?

4

3 回答 3

1

看看管理模板 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;
                }

您只需要一个模块,但您了解基本概念。

于 2013-01-26T17:43:03.817 回答
0

尝试这个。

您也可以传递模块参数。

   $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);

这可能会帮助你..

于 2013-01-25T10:52:14.333 回答
0

不能,模板中包含的 jdoc 会在组件完成输出后处理。

为什么不让 Joomla 将模块呈现在正确的位置?这应该是使用它的原因之一,即注意模块的放置和顺序。

如果您有其他原因,请进一步说明。

于 2013-01-25T21:21:41.093 回答