Компонент и модуль VirtueMart Производители. Как убрать страницу (Показать все товары "производитель")
- Подробности
- Категория: Virtuemart-2
- Обновлено 22.01.2018
Версия Virtuemart 2.6.8
Чтобы исключить промежуточную страницу вывода описания производителя, и сразу переходить на страницу списка товаров производителя, нужно заменить ссылки. Это очевидно. Менять ссылки будем в трех местах:
- Модуль вывода производителей;
- Страница вывода производителей в компоненте;
- В карточке товара.
1. Редактируем компонент. Файл /components/com_virtuemart/views/manufacturer/tmpl/default.php
выводит список всех производителей, когда вы создаете в Joomla пункт меню на Virtuemart->Производители
Открываем этот файл и заменяем переменную $manufacturerURL в строках 72 и 74 на переменную $manufacturerIncludedProductsURL
Теперь ссылки ведут напрямую на список товаров производителя.
В этом же файле можно добавить вывод описания производителя. Для этого нужно вставить следующий код после строки 76:
<div class="mfdesc"><?php echo ($manufacturer->mf_desc); ?></div>
Стиль для класса .mfdesc
.mfdesc { float: left; margin-left: 20px; text-align: left; width: 50%; }
2. Редактируем карточку товара. Если в настройках админки указано "показывать производителя", то ссылка на странице Карточка товара ведет на пустую промежуточную с единственной кнопкой: показать всех производителей. Исправим это недоразумение.
Страницу товара выводит файл /components/com_virtuemart/views/productdetails/tmpl/default.php
В этом файле ссылка на производителя интегрируется в строке 309:
echo $this->loadTemplate('manufacturer');
Поэтому открываем файл
/components/com_virtuemart/views/productdetails/tmpl/default_manufacturer.php
комментируем строку 24:
$link = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $this->product->virtuemart_manufacturer_id . '&tmpl=component', FALSE);
и ниже вставляем код:
$link = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_manufacturer_id=' . $this->product->virtuemart_manufacturer_id, FALSE);
В строке 32 в тэге а нужно убрать класс модального окна.
Код будет выглядеть так:
<span class="bold"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DETAILS_MANUFACTURER_LBL'); ?></span><a href="<?php echo $link; ?>"><?php echo $text; ?></a>
3. Редактируем модуль. Открываем файл /modules/mod_virtuemart_manufacturer/tmpl/default.php
и в строках 13 и 48 заменяем код
$link = JROUTE::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $manufacturer->virtuemart_manufacturer_id);
на код
$link = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_manufacturer_id=' . $manufacturer->virtuemart_manufacturer_id, FALSE);
На этом все.