Goldensites | CMS Joomla | Joomla 1.5 | Статьи Joomla | Joomla! Вывод модуля там, где вам нужно

Joomla! Вывод модуля там, где вам нужно

Вывод позиции модуля Joomla!
Самый простой вариант вывести позицию для модуля. Это вполне простая задача для шаблона, но не вполне простая задача если вы хотите вывести позицию для модуля, допусти, в переписанной разметке шаблона статьи материала в com_contetn. Вот код, с помощью которого можно это сделать:
<?php
 $document    = &JFactory::getDocument();
 $renderer    = $document->loadRenderer('modules');
 $options    = array('style' => 'xhtml');
 $position    = 'article-banners';
 echo $renderer->render($position, $options, null);
?>

Операции, которые мы выполняем в этом коде: загрузка документа, вывод рендеринга модулей из документа, установка стиля модуля (raw, XHTML, и т.д.), а затем вывод желаемой позиции для модуля.
Вывод позиции для модуля очень удобен, так как, вы можете использовать админпанель Joomla!, чтобы установить все ваши параметры для модуля.

Вывод одного модуля Joomla!
Вывод одного модуля реализовать немного сложнее, потому что вы должны определить все параметры вручную. Если вы этого не сделаете, то вам придется использовать параметры установленные в модуле по умолчанию. Вот код, который можно использовать для вывода модуля:
 <?php
 $document    = &JFactory::getDocument();
 $renderer    = $document->loadRenderer('module');
 $options    = array('style' => 'raw');
 $module        = JModuleHelper::getModule('mod_comments_comments');
 $module->params    = "heading=2\nlimit=10";
 echo $renderer->render($module, $options);
 ?>
 

Здесь мы опять получаем документ, но на этот раз мы вызываем рендеринг модуля а не позиции. Также мы указали стиль для вывода модуля. А далее, используем JModuleHelper для загрузки самого модуля по его машинному имени. Это возвращает объект модуля. Затем мы устанавливаем свойства параметров модуля в том же формате как они записываются в INI-файле, отделяя каждый параметр с символом новой строки «\n». Вот и все.

Комментарии 

 
0 #1 NoTimeToday 30.11.2011 12:58
Спасибо!
Очень помогло!
Цитировать