RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Нестандартный вызов модуля, без jdoc:include

Joomla предоставляет возможность использовать свой Joomla Framework API в шаблонах, и вебмастер имеет возможность вывести любые модули CMS в любом месте своего шаблона. Помимо этого, используя нижеприведенный код, можно также вывести модуль Joomla! в любом месте отдельной страницы, не привязывая его к конкретному пункту меню.

Вывод позиции модуля

Наиболее легкий вариант - это вывод позиции для модуля. Это довольно простая задача для шаблона, но совсем не тривиальная если вам нужно вывести модуль на одной из страниц какого-либо компонента стороннего разработчика. Справится с этой задачей вам поможет следующий код:

$document   = & JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'article-banners';
echo $renderer->render($position, $options, null);

В $option указываем стиль модуля (raw, xhtml, и т.д.), а также имя позиции для модуля, в данном примере это 'article-banners'.

Вывод одного модуля

Вывод одного модуля реализовать немного сложнее, так как вам придется определить все параметры вручную. Если этого не сделать, то будут использованы параметры установленные в модуле по умолчанию. Вот пример кода для вывода одного модуля:

$document   = & JFactory::getDocument();
$renderer   = $document->loadRenderer('module');
$options    = array('style' => 'raw');
$module     = JModuleHelper::getModule('mod_custom_banners');
$module->params    = "heading=2\nlimit=10";
echo $renderer->render($module, $options);

Здесь мы используем JModuleHelper для загрузки модуля, в качестве параметра передаем ему имя модуля ('mod_comments_comments'). В $module->params устанавливаем параметры модуля в том же формате как они прописаны в файле конфигурации, каждый параметр разделяется символом новой строки \n.

Смотрите также:
Комментарии (10) Добавить комментарий
  • сергей
    сергей
    03 Декабря 2011, 02:04
     ↑  0  ↓     ответ

    а помощь вы оказываете а то я уже заплутался в советах))) смысл заключается в том что в профиле пользователей коминит билдера постоянно то появляются то исчезают модули прям какой то полтергейст )))))

  • Дмитрий
    Дмитрий
    13 Марта 2012, 12:46
     ↑  -2  ↓     ответ

    Полезная заметка! Думаю, подойдёт для применения в каталоге, построенном на zoo.

  • Леонид
    Леонид
    23 Августа 2012, 19:01
     ↑  0  ↓     ответ

    ОГРОМНЫЙ РЕСПЕКТ АВТОРУ !!!

    Замучался системно прописывать позицию для вывода модулей в карточке товара virtuemart

  • Юрий
    Юрий
    01 Ноября 2012, 20:08
     ↑  0  ↓     ответ

    Спасибо, использую!

  • Спасибо
    Спасибо
    29 Декабря 2012, 06:16
     ↑  0  ↓     ответ

    Спасибо, очень помогло!

  • Урмат
    Урмат
    27 Февраля 2013, 17:01
     ↑  0  ↓     ответ

    От души. Огромное спасибо автору.

  • Denis
    Denis
    01 Сентября 2013, 22:50
     ↑  0  ↓     ответ

    Очень помогло, спасибо

  • Андрей
    Андрей
    22 Ноября 2013, 19:07
     ↑  0  ↓     ответ

    Спасибо! То что нужно

  • Yaroslav Royar
    Yaroslav Royar
    04 Декабря 2013, 01:16
     ↑  0  ↓     ответ

    Убил целый день на поиск нужного решения, огромное спасибо!!!!

  • Таир
    Таир
    31 Января 2015, 01:41
     ↑  0  ↓     ответ

    Вы лучшие!

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.