Компонент и модуль VirtueMart Производители. Как убрать страницу (Показать все товары "производитель")

Версия Virtuemart 2.6.8

Чтобы исключить промежуточную страницу вывода описания производителя, и сразу переходить на страницу списка товаров производителя, нужно заменить ссылки. Это очевидно. Менять ссылки будем в трех местах:

  1. Модуль вывода производителей;
  2. Страница вывода производителей в компоненте;
  3. В карточке товара.

 

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&amp;view=manufacturer&amp;virtuemart_manufacturer_id=' . $this->product->virtuemart_manufacturer_id . '&amp;tmpl=component', FALSE);

и ниже вставляем код:

$link = JRoute::_('index.php?option=com_virtuemart&amp;view=category&amp;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&amp;view=manufacturer&amp;virtuemart_manufacturer_id=' . $manufacturer->virtuemart_manufacturer_id);

на код

$link = JRoute::_('index.php?option=com_virtuemart&amp;view=category&amp;virtuemart_manufacturer_id=' . $manufacturer->virtuemart_manufacturer_id, FALSE);

На этом все.