从代码(Joomla 2.5)将模块渲染到正确的位置

从代码(Joomla 2.5)将模块渲染到正确的位置,joomla,joomla2.5,Joomla,Joomla2.5,在我的组件视图中,我可以通过以下代码显示模块: $module = JModuleHelper::getModule('mod_login'); $html = JModuleHelper::renderModule($module); echo $html; 或 但通常将模块放在屏幕的中间,在主内容div.< /p>中。 如何将模块放置在模块参数中定义的位置?试试这个 您也可以传递模块参数 $document = &JFactory::getDocument(); $re

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

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

<>但通常将模块放在屏幕的中间,在主内容div.< /p>中。 如何将模块放置在模块参数中定义的位置?

试试这个

您也可以传递模块参数

   $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在正确的位置渲染模块?这应该是使用它的原因之一,即注意模块的位置和顺序


如果您有其他这样做的原因,请进一步解释。

看看管理模板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;
                }
你只需要一个模块,但你得到了基本的想法

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