Как вывести модуль в модуле Joomla

Опубликовано: 01.09.2018

видео Как вывести модуль в модуле Joomla

Как вывести модуль новостей в Joomla

Часто для создания определенного функционала сайта требуется вывести модуль в модуле Joomla. 



Есть много вариантов где это вам может пригодиться и множество способов вывести один модуль внутри другого модуля Joomla.

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


Вставка модуля Joomla в материал Joomla 3

Добавление позиции модуля в шаблон модуля.

Модуль внутри другого модуля можно вывести добавив позицию модуля в шаблон разметки определенного модуля.  

Предположим, что нам необходимо вывести позицию модулей в модуле меню. Для этого нам необходимо добавить специальный код в файл разметки шаблона этого модуля - default.php.

Если в вашем шаблоне произведена шаблонизация модуля меню, то данный файл буде находится в следующей папке: папка с сайтом/templates/название вашего шаблона/html/mod_menu.

Если же по указанному пути данный файл отсутствует, то его нужно искать в следующем месте: папка с сайтом/modules/mod_menu/tmpl.

Открываем данный файл, при помощи редактора, (можно воспользоваться редактором Notepad2 )  и в самом низу добавляем следующий код:

<?php $document = &JFactory::getDocument(); $renderer = $document->loadRenderer('modules'); $options = array('style' => 'xhtml'); $position = 'позиция'; echo $renderer->render($position, $options, null); ?>

Только вместо слова "поизиция" укажите любую нужную вам позицию модуля (top, user1 и т. д.).

Сохраните файл. Теперь задайте определенному модулю позицию, которую вы указали в коде и он отобразится внизу модуля меню.

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

Чтобы в дальнейшем, при обновлении системы отредактированный нами файл не был перезаписан и все наши изменения не пропали, нужно произвести его шаблонизацию. Для этого в папке с вашим шаблоном зайдите в папку html, в ней создайте папку mod_menu (если вы делаете шаблонизацию другого модуля, то имя папки должно быть такое же как и имя папки данного модуля) и скопируйте сюда файл который вы редактировали.

Кроме этого можно вывести отдельный модуль по его ID. Найти ID модуля можно в менеджере модулей в последней колонке таблицы, напротив необходимого вам модуля.

Для вывода модуля по ID можно использовать следующий код:

<?php $document = &JFactory::getDocument(); $renderer = $document->loadRenderer('module'); $options = array('style' => 'raw'); $dbo = JFactory::getDBO(); $dbo->setQuery("SELECT * FROM #__modules WHERE id='укажите ID' "); $module = $dbo->loadObject(); $module->params = "heading=2\nlimit=10"; echo $renderer->render($module, $options); ?>

Только не забудьте заменить слова "укажите ID", на ID модуля.

Вывод модуля при помощи плагина Modules Anywhere.

При помощи плагина Modules Anywhere можно так же очень легко вывести модуль в модуле Joomla. Кроме этого данный плагин позволяет выводить модуль где угодно. 

Он позволяет выводить как позицию модуля так и отдельный модуль.

В случае если для данной цели вы решите использовать этот плагин, все делайте по аналогии с рассмотренным выше способом вывода модуля в модуле при помощи кода. Только в данном случае вместо кода вставляйте синтаксис вызова модуля.

Подробнее о плагине его функционале и синтаксисе смотрите в материале:  Modules Anywhere - выводим модули Joomla в любом месте .

Вывод модуля в модуле произвольного HTML кода при помощи стандартного плагина Load Modules.

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

Это очень просто и можно обойтись стандартными средствами Joomla не прибегая к сторонним плагинам и редактированию системных файлов. В этом случае вывод модуля можно осуществить при помощи системного плагина Load Modules (Загрузка модуля), который предназначен для вывода модулей внутри статей Joomla.

Чтобы вывести позицию модуля, достаточно в визуальном редакторе модуля произвольного HTML кода, вставить следующее:

Вместо "указать позицию" вставить необходимую позицию модуля (position-1, user-1 и т. д.).

Если вы заканчиваете создание сайта на Joomla или у вас уже есть работающий сайт и Вы недовольны качеством своего хостинг-провайдера и вам необходим виртуальный хостинг, советую вам воспользоваться виртуальным хостингом от компании HostLand .

 

Если при заказе хостинга указать промо-код -  4edc1eb4 , то можно получить целый месяц хостинга бесплатно.

Материал подготовлен проектом:  WebMasterMix.ru

Рекомендуем ознакомиться:

Подробности

Опубликовано: 28 Май 2013

Обновлено: 31 Октябрь 2013

Просмотров: 29280

rss