https://forum.virtuemart.net/index.php?topic=102062.0 Здесь есть кривоватый, но все-таки хак. Смысл в том, что для показа производителя надо выбирать ту страницу, что показывается по ссылке "Показать все товары Производителя", а с помощью
echo '<h1>'.$this->products[0]->mf_name.'</h1>';
echo '<p>'.$this->products[0]->mf_desc.'</p>';
вывести там название и описание производителя.
Aventurier, спасибо за ссылочку! Работает! Сделал как написал
P2 Peter. Всё чудесно заработало.
Кстати,
Sm1Le55 писал почти правильно. Этот файл
modules\mod_virtuemart_manufacturer\tmpl\default.phpнужно править, но, как говорил
P2 Peter: во-первых, нужно заменить
$link = JROUTE::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $manufacturer->virtuemart_manufacturer_id);
дважды, то есть в двух местах! Я сначала тоже думал что не работает, а потом почитал внимательнее и он сказал дважды надо изменить и действительно, ниже в коде есть еще раз повтор этой строчки. А во-вторых, надо ставить ссылку без JROUTE с ним почему-то не работает. Надо заменить на
$link = "index.php?option=com_virtuemart&view=category&virtuemart_category_id=&virtuemart_manufacturer_id=" . $manufacturer->virtuemart_manufacturer_id;
И всё будет гуд, нажимая на производителя вы сразу же попадаете на список всех товаров производителя.
Если же вам нужно чтобы и описание производителя выводилось, тогда надо дописать в файле вашей темы
templates\***your template***\html\com_virtuemart\category\default.phpследующий код:
<?php
if (empty($this->keyword)) {
echo $this->category->category_description ;
//check to see if category is manufacturer --> this below is added
$jinput = JFactory::getApplication()->input;
$trigger="virtuemart_manufacturer_id";
$mid = $jinput->get->get($trigger);
if (!empty($mid)) {
$lang=&JFactory::getLanguage();
$dba=JFactory::getDBO();
$dba->setQuery("SELECT * FROM #__virtuemart_manufacturers_".str_replace("-","_",strtolower($lang->getTag()))." WHERE ".$trigger."=".$mid.";");
$dba->query();
$muresult=$dba->loadAssoc();
$dbb = JFactory::getDBO();
$dbb->setQuery("SELECT virtuemart_media_id FROM #__virtuemart_manufacturer_medias WHERE virtuemart_manufacturer_id=".$mid.";");
$dbb->query();
$media_id = $dbb->loadResult();
$dbc = JFactory::getDBO();
$dbc->setQuery("SELECT file_url_thumb FROM #__virtuemart_medias WHERE virtuemart_media_id=".$media_id.";");
$dbc->query();
$file_url = $dbc->loadResult();
}
}
if (!empty($file_url)) {
?>
<img src="<? echo $file_url ?>" alt="<? echo $this->category->category_name ?>" align="right" style="margin:0 25px 0 25px">
<?php
}
echo "<h1>";
echo $this->category->category_name;
echo "</h1>";
if(!empty($muresult['mf_desc'])) {
echo $muresult['mf_desc'];
}
?>
<div class="clear"></div>
Я дописал его после этого блока:
<div class="category_description">
<?php $start = JRequest::getInt('limitstart',0); $option = JRequest::getVar('option',''); If (!$start && $option == 'com_virtuemart'){ ?> <div style="width:100%;float:left;"> <?php echo $this->category->category_description ; ?> </div> <?php } ?>
</div>
И всё красиво встало, правда убрал строчки
echo "<h1>";
echo $this->category->category_name;
echo "</h1>";
так как название производителя итак выводиться сверху в заголовке и второй раз в х1 его выводить уж больно режет глаза.
В общем, так и решается проблема
"virtuemart показать все товары производителя". Надеюсь эта инфа поможет ещё многим так как решение данной проблемы по сути полноценно нигде не описывается.