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.


Если у Вас возникли вопросы, то для скорейшего получения ответа рекомендуем воспользоваться нашим форумом

Комментарии  

#1 Ольга 09.11.2011 15:23
Добрый вечер!
А можно ли сделать так чтобы модуль выводился только на одной странице? была бы очень признательна в решении проблемы. Установлена Joomla 1.5
+2 #2 adminv15 09.11.2011 15:33
можно создать пункт меню для отдельной страницы, саму менюшку показывать не обязательно, а затем в настройках модуля указать, чтобы он отображался только для этого пункта
#3 Ольга 09.11.2011 16:17
Вы знаете может я не поняла, модуль переходит когда на странице указано "подробно", при переходе на "подробно" модуль так же переходит на страницу этого "подробно". Как быть?
#4 adminv15 09.11.2011 17:07
теперь я вас не понял, что значит "модуль переходит когда на странице указано "подробно""

тут без живого примера не разберешься
#5 Ольга 10.11.2011 05:59
Ок. http:// www.lrmoscow.ru /aksessyar/ freelander2.html пример страницы. При переходе на подробно, модуль находящийся справа так же переходит на страницу. Происходит дублирование контента. как быть?
#6 adminv15 10.11.2011 08:50
ну по моему проблема у вас надуманная, нет тут никакого дублирования контента, контент же у вас находится в центральной части, а не в правой колонке, а то что текст повторяется в правой колонке на разных страницах не страшно

скрыть модуль можно, но только если создать для каждого аксессуара отдельный пункт меню, так как вывод модуля привязывается к пунктам меню, но в вашем случае этот вариант не подходит, так как этих аксессуаров могут быть сотни
#7 Ольга 10.11.2011 10:10
Как мне объясняли, текст на странице должен быть уникальным, не зависимо в какой стороне он находится. И это влияет на продвижение. А что можете предложить в моем случае? Нужно продвижение страниц, но в Joomla есть свои нюансы, и это один из них. Как заполнять страницу текстом при моем расположении фоток? только по бокам.
+1 #8 adminv15 10.11.2011 10:37
попробуйте поискать какие-нибудь компоненты сторонних разработчиков для решения этой проблемы, возможно кто то уже решил эту проблему

You have no rights to post comments