Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Joomla的另一个模块中加载模块_Joomla_Module - Fatal编程技术网

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

在Joomla的另一个模块中加载模块,joomla,module,Joomla,Module,我是使用Joomla的绝对初学者。我正在尝试在另一个模块中加载一个模块,但找不到如何执行此操作。我一直在尝试添加 {loadposition position} “位置”取代了模块的位置,我想加载,但它似乎只在文章中起作用 我在这里找到了另一个解决方案: 但是我不知道在我的模块中把这个PHP代码放在哪里 谢谢你的帮助 您需要手动添加代码,以便将内部模块呈现给容器模块。举个例子: jimport( 'joomla.application.module.helper' ); $module = J

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

{loadposition position}
“位置”取代了模块的位置,我想加载,但它似乎只在文章中起作用

我在这里找到了另一个解决方案: 但是我不知道在我的模块中把这个PHP代码放在哪里


谢谢你的帮助

您需要手动添加代码,以便将内部模块呈现给容器模块。举个例子:

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

要显示输出,您需要将代码放在希望呈现html的外部模块源代码部分


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

如果您需要带菜单以外的其他模块(每个位置都会显示模块)

这是我的技巧:(适用于2.5和3.0)

转到您的模块,并仅为此创建一个假位置,如本例中的“oehelp”

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


saludos

我应该创建一个新的模块模板吗?我想我可以使用现有的一个…我不完全确定创建一个新的模块模板意味着什么。如果你的意思是在你的网站模板中添加一个新的模块位置,那么不是。代码将在另一个模块中呈现一个模块-不需要为内部模块指定位置。但是,您需要修改外部模块的代码,因此如果在没有内部模块的情况下在其他地方使用它,您可能需要添加一个模块参数,指定是否不显示内部模块,然后在添加我发布的代码之前执行检查。