Joomla! 2.5.8 + VirtueMart 2.0.16 + шаблон квикстарт
1. Столкнулся с такой же проблемой:
- Как вывести производителя в VirtueMart 2 или не выводится производитель в товаре VirtueMart 2
2. Решил добавить до кучи:
- Как вывести артикул в VirtueMart 2 или как вывести артикул в (карточке) товара VirtueMart 2
- Вывод названия производителя в списке товаров (в категории)
- Вывод артикля в списке товаров (в категории) в VirtueMart 2
-----------
1. Все дело в использовании VirtueMart 2 - файлов шаблона, а не компонента. Особенно если вы ставили qvikstart.
Видимо разработчики забыли(ют) добавить(ять) строчки вывода производителя в PHP файл о продукте или делают это намеренно.
Скопировал кусок кода отвечающего за вывод производителя по этому пути:
ваш сайт/components/com_virtuemart/views/productdetails/tmpl/default.php из файла default.php
<?php
// Manufacturer of the Product
if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {
echo $this->loadTemplate('manufacturer');
}
?>
И вставил в div класс отвечающий за вывод начальной информации о товаре по такому пути:
ваш сайт/templates/ваш шаблон/html/com_virtuemart/productdetails/ в файл default.php
<?php
// BEGIN Product Short Description
if (!empty($this->product->product_s_desc)) {
?>
<div class="bt_vm_pdet_short_desc">
(у вас класс естесн другой) < Вот сюда ><div class="product-short-description">
-----------------------
2. Добавляем вывод артикля (кода) товара, ниже или выше (по желанию)
вставленного нами нового куска кода - такой строчкой:
Код товара: <?php echo $this->product->product_sku ?>
Вывод названия производителя в списке товаров (в категории) делаем так:
- Редактируем файл default.php по такому пути ваш сайт/templates/ваш шаблон/html/com_virtuemart/category/
в моем шаблоне после строчки -
<div class="bt_prices"><?php
// BEGIN: Product Details Button
if (!empty($product->product_s_desc)) {
echo '<p class="bt_product_details_15">'.JHTML::link ($product->link, JText::_ ('COM_VIRTUEMART_PRODUCT_DETAILS'), array('title' => $product->product_name, 'class' => 'bt_details_dark')).'</p>'; }else{
echo '<p class="bt_product_details_more">'.JHTML::link ($product->link, JText::_ ('COM_VIRTUEMART_PRODUCT_DETAILS'), array('title' => $product->product_name, 'class' => 'bt_details_dark')).'</p>';
}
// END: Product Details Button
?>
</div>
<div class="bt_prices">
вставил этот код
<?php
if(!empty($product->mf_name)){
$link = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $product->virtuemart_manufacturer_id . '&tmpl=component');
$text = $product->mf_name;
if (strtolower(JRequest::getWord('output')) == "pdf") {
echo JHTML::_('link', $link, $text);
} else {
?>
<span class="bold"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DETAILS_MANUFACTURER_LBL')?></span><a class="modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $link ?>"><?php echo $text ?></a>
<?php } } ?>
для вывода артикля в списке товаров (в категории) в VirtueMart 2 - также как и в товаре добавляем строчку:
Код товара: <?php echo $this->product->product_sku ?>
ниже или выше (по желанию) вставленного нами нового куска кода
--------------------
Если строчка артикля залазиет на строчку с производителем то можно подставить перед ней тег <br> (т.е. пробел)
--------------------
P.S.
Не забывайте сохранять редактируемые файлы в кодировки UTF-8 (без BOM)
Всем отличных продаж!