Форум русской поддержки Joomla!® CMS
10.12.2016, 16:46:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывести модуль в произвольном месте

 (Прочитано 358 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 30


« : 14.06.2015, 18:46:08 »

Конкретно нужно вывести модуль Jshopping Categories внизу карточки товара JoomShopping.

Как я понял, нужно использовать плагин загрузки модулей. Для этого создать материал, не привязанный ни к какой категории и вставить в него код "{loadposition position-10}", где position-10 это позиция, в которой выводятся категории на главной.

Вопрос в том, как вставить этот материал в шаблон карточки товара. 




P.S. Кстати, создал модуль типа Custom HTML и вставил в него {loadposition position-10}, чтобы проверить как это работает. Когда назначил позицию этому модулю, в этой позиции просто вывелся текст {loadposition position-10}.
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 30


« Ответ #1 : 14.06.2015, 20:16:05 »

Вот так выводятся названия категорий:
Цитировать
   $document = JFactory::getDocument();
   $renderer = $document->loadRenderer('module');
   $options = array('style' => 'raw');
   $dbo = JFactory::getDBO();
   $dbo->setQuery("SELECT * FROM #__modules WHERE id='91' ");
   $module = $dbo->loadObject();
   $module->params = "heading=2\nlimit=10";
   echo $renderer->render($module, $options);

Но почему-то без изображений.
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 30


« Ответ #2 : 14.06.2015, 20:28:56 »

Попробовал так:
Цитировать
$modules =JModuleHelper::getModules('position-10');
foreach ($modules as $module){
   echo JModuleHelper::renderModule($module);
}

Почему-то именно модуль из этой позиции не выводится, передал в getModules позицию copyright-1 и копирайт вывелся.
То есть принцип вывода модуля понятен. Что-то не так именно с этой конкретной позицией или модулем.
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 30


« Ответ #3 : 15.06.2015, 00:29:02 »

Оказывается, дело было в привязке модуля(вкладка "Привязка к пунктам меню"). У модуля категорий она была "Только на указанных страницах".
Если сделать "На всех страницах", то код
Цитировать
$modules =JModuleHelper::getModules('position-10');
foreach ($modules as $module){
   echo JModuleHelper::renderModule($module);
}
выводит модуль, но он выводится и на тех страницах где не нужен. А в карточке товара он выводится даже дважды: один раз приведённым кодом, а один раз просто в позицию 'position-10' данной страницы.

Так что пока самый адекватный результат даёт способ с SQL-запросом, только вот как там сделать вывод картинок.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet