在Joomla的另一个模块中加载模块

时间:2010-09-22 14:33:56

标签: joomla module

我是使用Joomla的绝对初学者。我正在尝试在另一个模块中加载模块,但我找不到如何做到这一点。我一直在尝试添加

{loadposition position}

用“position”替换了我想要加载的模块的位置,但它似乎只适用于文章。

我在这里找到了另一个解决方案:http://forum.joomla.org/viewtopic.php?p=1531754&sid=bae9b487983c7e8a9f9c4fbd2958cf52#p1531754 但我不知道将PHP代码放在我的模块中的哪个位置。

感谢您的帮助!

2 个答案:

答案 0 :(得分:12)

您需要手动添加代码以将内部模块呈现给容器模块。下面是一个例子:

jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModule('mainmenu');
$attribs['style'] = 'xhtml';
echo JModuleHelper::renderModule( $module, $attribs );

取自: http://docs.joomla.org/JModuleHelper/renderModule

要显示输出,您需要将代码放在外部模块源的部分中,以便呈现html。

您要将'mainmenu'替换为要嵌入的模块的名称。 (我删除了第二个参数,因为我假设您不想显示标题)。

答案 1 :(得分:4)

如果你需要带另一个模块而不是菜单(每个模块总是显示一个模块)

这是我的诀窍:(适用于2.5和3.0)

在这种情况下,转到你的模块并为此创建一个虚假的位置,如“oehelp”。

$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('modules');
$options = array('style'=>'raw');
echo $renderer->render('oehelp',$options,null);

瞧,

saludos