В предыдущей статье мы рассмотрели условия, с помощью которых можно ограничить вывод модулей на страницах virtuemart. Но иногда удобнее не задавать условия, а просто добавить новую модульную позицию непосредственно в шаблон virtuemart.
Это позволит, например, вывести модуль с любым контентом (товарами, текстом и т.д.) сразу под названием категории, что в некоторых случаях может быть полезным.
Для добавления новой модульной позиции внутри шаблона virtuemart используем следующий код
1 2 3 4 5 6 7 8 |
<?php jimport( 'joomla.application.module.helper' ); $modules = JModuleHelper::getModules( 'new-position'); $attribs['style'] = 'xhtml'; foreach($modules as $module){ echo JModuleHelper::renderModule($module, $attribs); } ?> |
new-position - название новой модульной позиции.
$attribs['style'] - переменная отвечает за стиль кода вывода модуля. Доступно множество значений:
- rounded
- none
- table
- horz
- xhtml
- html5
- outline
Подробнее про отличия стилей можно почитать здесь. Мы используем самый распространенный стиль xhtml.
Добавим, например, слайдер изображений на странице категории сразу под названием.
Для этого в файле /components/com_virtuemart/views/category/tmpl/default.php (или если есть в файл /templates/имя_шаблона/html/com_virtuemart/category/default.php) сразу после кода вывода названия категории
1 |
<h1><?php echo vmText::_($this->category->category_name); ?></h1> |
Добавим код вывода модуля и получим следующее.
Вот так, достаточно просто можно создать самую сложную структуру сайта.
DaN
Интересный метод, но не все понятно без Демо, добавьте по возможности.
Не ожидается ли статья о микроразметке Schema_org, с изменениями в выдачах яндекс и гугл актуально было бы.
admin
По микроразметке статью пока не планировал.
Демо страница, на мой взгляд, не имеет большого смысла - у всех разные задачи.
Можно мысленно перенести любой модуль сайта в любое место шаблона vm )
Вольф
А как вставить модульную позицию между товарам в категории товаров. К примеру после второй строки с товарами (на картинке получается после 6 -го товара)? Каждый товар обернут в
Спасибо
admin
По этому вопросу,к сожалению, не подскажу.
Вольф
Обернут в
Видел ещё на сайте хак вывода названий категорий в категории у товаров. А как вытащить названия всех категорий в карточку товара (категории в которых находится данный товар)?
Спасибо
admin
Решение есть в этой статье.
Вольф
В общем, в DIV обернут...
Micel
Подскажите нужно вывести название категории и описание в отдельном модуле joomla
по стандарту в шаблоне магазина есть
category->category_name); ?>
а как данный код реализовать в модуле? получается что заходим в категорию а название ее не в шаблоне магазина а в модуле
admin
Готовый код из категории использовать не получится, нужно писать отдельный модуль.
Пришлите ссылку на сайт и уточните где именно нужно выводить, возможно, можно будет решить правкой шаблона категорий или правкой css.