В созданом вами шаблоне должна присутствовать папка html, в котором хранится шаблон компонента. Предположим, нам нужно создать позицию в компоненте "блог". Вот файл, который мы будем редактировать
/templates/ВАШ_ШАБЛОН/html/com_content/category/blog.php
В этом файле необходимо вставить в нужном месте следущий код:
<?php
jimport( 'joomla.application.module.helper' );
$modules = JModuleHelper::getModules('my_module'); // вместо my_module прописываем имя модуля, которое вам нужно
$attribs['style'] = 'none';
foreach($modules as $module){ // в цикле перебираем и выводим все модули
echo JModuleHelper::renderModule($module, $attribs);
}
?>
Теперь в админке осталось создать нужный можуль и указать его позицию. В нашем случае это my_module.
Как вывести несколько позиций модуля в компоненте Joomla
Принцип действий тот же самый, но давайте будем отображать в позиции еще заголовок модуля.
Перед объявлеие переменных с позициями разместите в любом месте следущие строки
jimport( 'joomla.application.module.helper' ); $attribs['style'] = 'none';
Затем в нужном месте кода вставте позицию модуля следущим кодом. Позицию назовем position1
$modules1 = JModuleHelper::getModules('position1');//объявляем позицию
foreach($modules1 as $module){
if ($module->showtitle) { //в этом условии выводим заголовок модуля, если он включен в админке
?><h3><?php echo $module->title;?></h3><?php
};
echo JModuleHelper::renderModule($module, $attribs);//выводим сам модуль
}
Спускаемся до того места, где надо вставить следущую позицию(пусть это будет position2). Вставляем код:
$modules2 = JModuleHelper::getModules('position2');//заметьте, здесь уже друга переменная modules2
foreach($modules2 as $module){
if ($module->showtitle) {
?><h3><?php echo $module->title;?></h3><?php
};
echo JModuleHelper::renderModule($module, $attribs);
}
Теперь всё готово. Создайте модоули в админке и вручную пропишите название наших позиций.