Форум русской поддержки Joomla!® CMS
11.12.2016, 06:16:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Не выводится производитель в описании товара

 (Прочитано 4850 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Alsabel
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3



« : 21.08.2012, 13:42:14 »

Надеюсь, пишу в нужный раздел Smiley

VM 2.0.2, Joomla 2.5.4

Открываю, значит, Virtuemart->Настройки->Шаблоны. Ставлю галку "показывать производителей". Открываю продукт - ничего (производитель в карточке товара, разумеется, прописан).
 Shocked

Лезу в шаблон, там все в порядке:
Код:
<?php
// Manufacturer of the Product
if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {
    $this->loadTemplate('manufacturer');
}
?>
Лежит в диве spacer-buy-area вместе с ценой, кнопкой добавления в корзину и так далее. Вроде ничего не ковырял в этом шаблоне, странно. Пробовал убрать проверку на галку, вдруг чего. Не помогло. Открываю manufacturer_default, в который я тоже не лез, и там тоже все на месте:
Код:
<div class="manufacturer">
    <?php
    $link = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $this->product->virtuemart_manufacturer_id . '&tmpl=component');
    $text = $this->product->mf_name;

    /* Avoid JavaScript on PDF Output */
    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 } ?>
</div>

В чем же дело? Он вообще не хочет выводить строку производителя (проверил фаербагом - нет не только строки, дива тоже нет).

Спасибо.
Записан
Hlistdubovij
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 63


it-creativ.com


« Ответ #1 : 16.01.2013, 03:22:15 »

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)
Всем отличных продаж!
« Последнее редактирование: 16.01.2013, 12:11:17 от Hlistdubovij » Записан
Anas25
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #2 : 23.02.2013, 08:54:50 »

У меня не получаеться вывести производителя, производитель создан и в карточке товара тоже указан производитель, вот мой код:

<?php
       // Product Short Description
       if (!empty($this->product->product_s_desc)) {
         ?>
         <div class="product-short-description">
           <?php
      // Manufacturer of the Product
      if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {
      echo $this->loadTemplate('manufacturer');
      }
              ?>   
           <?php
                echo nl2br($this->product->product_s_desc);
         ?>
      </div>

Что я делаю не так?
Записан
Tyler_Durden
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 39


« Ответ #3 : 19.03.2013, 19:24:57 »

Hlistdubovij +++  Все помогло!
Записан
Sergey170
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #4 : 20.03.2013, 21:16:29 »

Подскажите почему у меня нет папки  com_virtuemart  если иду по пути   templates/ваш шаблон/html/com_virtuemart  Sad Sad VM стоит 2ой, ничего не понимаю, видимо у всех она там есть у меня нету(
Записан
Tyler_Durden
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 39


« Ответ #5 : 21.03.2013, 13:56:38 »

Подскажите почему у меня нет папки  com_virtuemart  если иду по пути   templates/ваш шаблон/html/com_virtuemart  Sad Sad VM стоит 2ой, ничего не понимаю, видимо у всех она там есть у меня нету(
Если у Вас там ее нету, то скорее всего в шаблоне сайта используются стандартные формы Vituemart. Смотрите эти формы в сайт/components/com_virtuemart/views/productdetails/tmpl/default.php (для карточки товара). Можете также сделать поиск по папке с сайтом на запрос: com_virtuemart (автор шаблона мог затолкать эти формы куда угодно)
Записан
danem
Новичок
*

Репутация: +2/-0
Offline Offline

Сообщений: 3


« Ответ #6 : 19.06.2013, 17:49:56 »

Здравствуйте, уважаемые форумчане.
После прочтение данной темы и темы с другого форума - http://joomla-support.ru/post164868.htm так, и не смог справится с проблемкой одновременного вывода описания и товаров производителя на одной странице. Захожу через меню, по ссылке на конкретного производителя. Фаил отвечающий за вывод производителя нашёл - /components/com_virtuemart/views/manufacturer/tmpl/default.php . очень хочу вывести товары производителя после его описания (или кода - строка 50):
Код:
   <?php // Manufacturer Description
   if(!empty($this->manufacturer->mf_desc)) { ?>
      <div class="manufacturer-description">
         <?php echo $this->manufacturer->mf_desc ?>
      </div>
   <?php } ?>
Перепробовал много вариантов. Не чего не выходит (вместо страницы - белая простыня, или просто не чего не происходит).
Или наоборот в файле вывода товаров производителя, вывести описание.
код:
Код:
<?php echo $this->manufacturer->mf_desc ?>
не чего не выводит. Другие копированные коды тоже не чего не дают.
Подскажите пожалуйста - как вывести товары вместе с описанием производителя?
Записан
danem
Новичок
*

Репутация: +2/-0
Offline Offline

Сообщений: 3


« Ответ #7 : 19.06.2013, 19:14:24 »

Сам-шучу сам смеюсь.
После долгих изысков по простору интернета (поскольку я далеко не программист-профессионал) решение было найдено. Во всяком случае у меня оно заработало.
Задача: вывести описание производителя вместе с его товарами.

1. Водим переменные в фале components/com_virtuemart/views/category/view.html.php (примерно 182 строка)
После кода:
Код:
$virtuemart_manufacturer_id = JRequest::getInt('virtuemart_manufacturer_id',0 );
Вставляем код:
Код:
// get manufacturer models
$model = VmModel::getModel('manufacturer');
if ($virtuemart_manufacturer_id !=0 ) {

$manufacturer = $model->getManufacturer();
$model->addImages($manufacturer,1);

$manufacturerImage = $manufacturer->images[0]->displayMediaThumb('class="manufacturer-image"',false);

$this->assignRef('manufacturerImage', $manufacturerImage);
$this->assignRef('manufacturer', $manufacturer);
$pathway->addItem(strip_tags($manufacturer->mf_name));
}

2. Далее переадресуем ссылку в компоненте магазина - components/com_virtuemart/views/manufacturer/tmpl/default.php (ну или в меню, или в модуле, или от куда нам надо получить ссылку на страницу с товарами производителя):
Находим код:
Код:
index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=
Меняем на:
Код:
index.php?option=com_virtuemart&view=category&virtuemart_manufacturer_id=
т.е. заменяем ссылку со страницы описания производителя, на страницу с товарами производителя.

3. Вставляем практически в любое место переменные отображения информации о производителе (описание, url, изображение) в фаил  - components/com_virtuemart/views/category/tmpl/default.php
Я вставил в конце страници.
Переменные производителя выглядят следующим образом и находятся в файле - /components/com_virtuemart/views/manufacturer/tmpl/details.php :
<?php echo $this->manufacturer->mf_desc ?> - описание
<?php echo $this->manufacturerImage; ?> - изображение
ну и т.д

Оригинал топика с забугорного форума - http://forum.virtuemart.net/index.php?topic=106733.0
Записан
lnexus
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #8 : 28.08.2014, 12:47:41 »

3. Вставляем практически в любое место переменные отображения информации о производителе (описание, url, изображение) в фаил  - components/com_virtuemart/views/category/tmpl/default.php
Я вставил в конце страници.
Переменные производителя выглядят следующим образом и находятся в файле - /components/com_virtuemart/views/manufacturer/tmpl/details.php :
<?php echo $this->manufacturer->mf_desc ?> - описание
<?php echo $this->manufacturerImage; ?> - изображение
ну и т.д
Не могу понять что нужно, чтобы переменная брала значение текущего производителя?
Записан
kasper9820
Осваиваюсь на форуме
***

Репутация: +2/-5
Offline Offline

Пол: Мужской
Сообщений: 163



« Ответ #9 : 03.02.2016, 02:09:03 »

Извините, если не в тему.
Есть такой код при добавлении товара (в форме)
Код:
echo '<dt><label for="formmanufacturer">'.JText::_('COM_VMVENDOR_VMVENADD_MANUFACTURER').'</label></dt>';
    echo '<dd><div class="form-group><select id="formmanufacturer"></select>';
echo '<select id="formmanufacturer" name="formmanufacturer" class="form-control chosen"><option value="0">'.JText::_('COM_VMVENDOR_VMVENADD_FORM_CHOOSEMANUFACTURER').'</option>';
$manufacturers = VmvendorModelAddproduct::getManufacturers();
foreach($manufacturers as $manufacturer)
{
echo '<option value="'.$manufacturer->virtuemart_manufacturer_id.'">'.$manufacturer->mf_name.'</option>';
}
echo '</select></div></dd>';

если из этого кода убрать лишний <select id="formmanufacturer"></select> то весь селектор рушиться и превращается в список.

Что может быть. Остальные работают как часы
Записан
fsv
Moderator
*****

Репутация: +330/-2
Offline Offline

Пол: Мужской
Сообщений: 2247


« Ответ #10 : 03.02.2016, 03:38:28 »

если из этого кода убрать лишний <select id="formmanufacturer"></select>
а если убрать
Код
<select id="formmanufacturer"></select>';
echo '
?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet