我是使用Joomla的绝对初学者。我正在尝试在另一个模块中加载模块,但我找不到如何做到这一点。我一直在尝试添加
{loadposition position}
用“position”替换了我想要加载的模块的位置,但它似乎只适用于文章。
我在这里找到了另一个解决方案:http://forum.joomla.org/viewtopic.php?p=1531754&sid=bae9b487983c7e8a9f9c4fbd2958cf52#p1531754 但我不知道将PHP代码放在我的模块中的哪个位置。
感谢您的帮助!
答案 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