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

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

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

[Помощь] VirtueMart - почемуто нельзя скрыть ненужный товар

Тема в разделе "Virtuemart", создана пользователем th7, 9 ноя 2011.

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

    th7 Создатель

    Регистр.:
    21 апр 2008
    Сообщения:
    115
    Симпатии:
    9
    1. Когда в админке снимаю с публикации товара, то он не скрывается.. а просто после заголовка товара написано (скрыто)
    2. Привязал товары к наличию.. надпись "Позвоните чтобы уточнить цену" не выводится если товара нет на складе.
    Подскажите пожалуйста что делать и где ковырять.
     
  2. nordrom

    nordrom Постоялец

    Регистр.:
    5 авг 2010
    Сообщения:
    100
    Симпатии:
    9
    1. если у тебя снят товар с публикации но ты под админом на сайте - у тебя будет написано "скрыто" рядом с названием товара, если ты выйдешь и не будешь под админом у тебя этот товар не будет отображаться.
     
  3. rui

    rui

    Регистр.:
    24 янв 2008
    Сообщения:
    155
    Симпатии:
    44
    В товаре надо указать кол-во доступного на складе.
     
  4. serapol

    serapol Создатель

    Регистр.:
    23 июл 2009
    Сообщения:
    43
    Симпатии:
    10
    А причем здесь наличие товара? Это сообщение выводиться только в случае если у товара нет цены, что в принципе логично исходя из текста сообщения:). Когда в наличие нет товара вместо кнопки купить выводиться "уведомить о наличии"
     
  5. th7

    th7 Создатель

    Регистр.:
    21 апр 2008
    Сообщения:
    115
    Симпатии:
    9
    Спасибо... ваша информация помогла...
    Еще один вопрос..!
    Как сделать так чтоб у товара которого нет в наличии.. была надпись "нет в наличии" ковырять на сколько я понимаю надо в browse.tpl.
     
  6. binh

    binh

    Регистр.:
    6 сен 2011
    Сообщения:
    268
    Симпатии:
    75
    Нужно чуток с кодом шаблонов повозиться. Делал по инструкции(гдето в инете находил) следующее:
    Сделал свои картинки
    na_zakaz.png //если позиция заказная
    no.png //нет в наличии
    so_sklada.png //со склада

    Залил новые картинки в components/com_virtuemart/themes/default/images/availability и удалил все старые

    В БД выполнил запрос
    UPDATE `jos_vm_product` SET product_availability = 'na_zakaz.png';
    UPDATE `jos_vm_product` SET product_availability = 'so_sklada.png' WHERE product_in_stock>0

    Дальше редактируем файл components/com_virtuemart/themes/default/templates/common/availability.tpl.php
    и после кода
    echo vmCommonHTML::imageTag( VM_THEMEURL."images/availability/".$product_availability, $product_availability ).' '

    добавляем:

    echo '<br>';
    if($product_availability=='so_sklada.png'){
    if($product_in_stock=="1") {
    echo '<font style="color:#c08e33;font-weight:bold;">в наличии, ограниченное количество</font>';
    } elseif ($product_in_stock>0) {
    echo '<font style="color:green;font-weight:bold;">есть в наличии</font>';
    } else {
    echo '<font style="color:#c08e33;font-weight:bold;">ожидаеться</font>';
    }
    } else {
    echo '<font style="color:red;font-weight:bold;">нет в наличии</font>';
    }
    Дальше в этом же файле удаляем код:
    <div class="availabilityHeader"><?php echo $VM_LANG->_('PHPSHOP_AVAILABILITY') ?></div>
    <br />

    Опять редактируем файл
    administrator/components/com_virtuemart/html/shop.browse.php
    Вот этот код:
    $products[$i]['product_availability'] = $db_browse->f("product_availability");

    Заменяем на:

    // $products[$i]['product_availability'] = $db_browse->f("product_availability");
    $tpl->set( 'product_available_date', $products[$i]['product_available_date'] );
    $tpl->set( 'product_availability', $db_browse->f("product_availability"));
    $products[$i]['product_availability'] = $tpl->fetch( 'common/availability.tpl.php');

    И последний файл:
    components/com_virtuemart/themes/default/templates/browse/browse_1.php

    Перед кодом:
    <div class="browseProductDescription">
    Вставляем следующий код:
    <div class="availability" style="float:right;width:213px;margin: 3px;">
    <?php
    if( $this->get_cfg( 'showAvailability' )) {
    echo $product_availability;


    }
    ?>
    </div>

    Вроде все.
     
  7. serapol

    serapol Создатель

    Регистр.:
    23 июл 2009
    Сообщения:
    43
    Симпатии:
    10
    В предыдущем посте интересная инструкция, но зачем так заморачиватся. Во-первых каждый раз придется выполнять запрос к базе для замены product_availability или менять ручками. Если необходимо просто написать "Нет в наличии", то нужно поправить один файл шаблона, правда в зависимости о того где нужно выводить.
    Если например в стандартном шаблоне browse_1.php, над кнопкой купить.
    Находим <span class="browseAddToCartContainer"> и перед ним пишем

    PHP:
    <?php if ($product_in_stock 1) { ?>
    <br/><span>Нет в наличии</span><br/>
    <?php ?>
    Если нужно в другом месте соответственно вставляем в другом шаблоне.
     
Статус темы:
Закрыта.