1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Virtuemart - Как добавить product_availability при отображении дочерних товаров?

Тема в разделе "Joomla", создана пользователем adrenaline66, 22 дек 2010.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. adrenaline66

    adrenaline66 Создатель

    Регистр.:
    17 ноя 2009
    Сообщения:
    26
    Симпатии:
    2
    Когда не используются дочерние товары, все просто - в шаблоне пишем echo $product_availability;

    А если используем дочерние товары и выводим их боксом(Использовать список "бокс" для зависимых товаров), то как в эту табличку добавить информацию о наличии каждого дочернего товара?

    Копаю addtocart_list_multi.tpl.php но echo $product_availability; не работает.

    Возможно кто-то решал эту проблему?
     
  2. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    606
    Симпатии:
    251
    Тебе надо писать заглушку в shop.browse.php

    1) В файле \com_VirtueMart\html\shop_browse_queries.php
    Ищем строку (у меня 37) с описание всех доступных полей для запроса.
    Код:
    $fieldnames = "`product_name`,`products_per_row`,`category_brows epage`,`category_flypage`,`#__{vm}_category`.`cate gory_id`,...
    Добавляем туда product_availability

    2)в файл \components\com_VirtueMart\html\shop.browse.php в нужном месте добавляем строки:

    Код:
    $product_availability = $ps_product->get_mf_name($db_browse->f('product_id'));
    		$products[$i]['product_availability'] = $product_availability;
    
    
    Примерно так, на счет правки shop.browse.php не уверен
    Посмотри
    https://www.nulled.cc/showthread.php?p=1675153#post1675153
    Может наведет на мысль
     
  3. adrenaline66

    adrenaline66 Создатель

    Регистр.:
    17 ноя 2009
    Сообщения:
    26
    Симпатии:
    2
    RedRabbit, это немного не то, shop.browse.php - это отображение категории...
     
  4. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    606
    Симпатии:
    251
    Извини:) Че то я не то...
    Поробуй такую крнструкцию
    Код:
    <?php 
    	  		if( $this->get_cfg( 'showAvailability' )) {
    	  			echo $product_availability; 
    	  		}
    	  		?>
    
     
  5. adrenaline66

    adrenaline66 Создатель

    Регистр.:
    17 ноя 2009
    Сообщения:
    26
    Симпатии:
    2
    Я правлю файл addtocart_list_multi.tpl.php

    Удалось сделать статусы "В наличии" и "Нет в наличии" добавлением следующего кода:

    PHP:

    // Availability
                    if( CHECK_STOCK == '1' && !$product['product_in_stock'] ) { ?>
                        <span class="vmChildDetail<?php echo $cls_suffix ?>" style="float: right;text-align: right;margin-top: 0px;"><?php echo 'Нет в наличии' ?></span>
                    <?php }
                    elseif( (
    $product_in_stock >= && CHECK_STOCK) ) { ?>
                        <span class="vmChildDetail<?php echo $cls_suffix ?>" style="float: right;text-align: right;margin-top: 0px;"><?php echo 'В наличии' ?></span>
                    <?php    }

    Но не удалось вывести оборажение информации и картинок доставки availability.

    В этом файле упорно игнорируются переменные 'product_available_date' и 'product_availability'.

    Кто знает решение?
     
  6. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    606
    Симпатии:
    251
    Надо будет править в
    Код:
    administrator\components\com_virtuemart\html\
    Что не подскажу. Слишком долго искать. Просто переменные эти не описаны в файлах вывода, как ты хочешь. Значит тебе придется писать заглушку. Описывать эту переменную.
     
  7. adrenaline66

    adrenaline66 Создатель

    Регистр.:
    17 ноя 2009
    Сообщения:
    26
    Симпатии:
    2
    Разобрался, в файл ps_product_attribute.php необходимо было добавить код:

    PHP:
    $products[$ci]['product_availability'] = ps_product::get_field$id'product_availability' ) ;
     
Статус темы:
Закрыта.