Загрузка модуля в другой модуль в Joomla - PullRequest
3 голосов
/ 22 сентября 2010

Я абсолютный новичок в использовании Joomla. Я пытаюсь загрузить модуль в другой модуль, но я не могу найти, как это сделать. Я пытался добавить

{loadposition position}

с "position" заменил позицию модуля, который я хотел бы загрузить, но, похоже, он работает только в статьях.

Я нашел другое решение здесь: http://forum.joomla.org/viewtopic.php?p=1531754&sid=bae9b487983c7e8a9f9c4fbd2958cf52#p1531754 но я не знаю, где поместить этот код PHP в мой модуль.

Спасибо за помощь!

Ответы [ 2 ]

12 голосов
/ 22 сентября 2010

Вам нужно вручную добавить код для рендеринга вашего внутреннего модуля в ваш контейнерный модуль.Вот пример:

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' на имя модуля, который вы хотите встроить.(Я удалил второй параметр, поскольку я предполагаю, что вы не хотите отображать заголовок).

4 голосов
/ 02 апреля 2013

Если вам нужно принести другой модуль, кроме меню (каждый раз, когда вы всегда показываете модуль)

Это мой трюк: (работает в 2.5 и 3.0)

Зайдите в свой модуль и создайте поддельную позицию только для этого, например, в этом случае "oehelp".

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

вуаля,

Saludos

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...