[Помогите] Проблема с "Нет в наличии" в Filter Mega Pro

Тема в разделе "OpenCart", создана пользователем Grek, 8 май 2013.

  1. Grek

    Grek

    Регистрация:
    18 янв 2013
    Сообщения:
    172
    Симпатии:
    19
    Здравствуйте, проблема такая - в списке категории товаров все товары, которых нет в наличии выводятся с выключенной кнопкой ("Нет в наличии"), при этом покупатель не может заказать товар (кнопка не активна). Но в Filter Mega Pro кнопка "Купить" у товара, у которого количество 0 активна, и клиент может сделать заказ. Может кто сталкивался, как решить проблему, чтобы в фильтре тоже отображалась выключенная кнопка "Нет в наличии" ? OC 1.5.4.1
     
  2. Spartak

    Spartak

    Регистрация:
    23 дек 2012
    Сообщения:
    151
    Симпатии:
    57
    Добрый день.
    Попробуйте указать похожее (на то, что стоит на странице категории) условие для отображения кнопки "Купить" теперь и в файле catalog/view/theme/ваша тема/template/module/filterpro.tpl ?
     
  3. Grek

    Grek

    Регистрация:
    18 янв 2013
    Сообщения:
    172
    Симпатии:
    19
    Пробовал указывать
    Код:
    <? if ($product['allowed_buy']) { ?>
    <a onclick="addToCart('${product_id}');" class="button"><span><?php echo $button_cart; ?></span></a>
    	<a rel="<? echo '${product_id}';?>" class="fast_view button"><span><?php echo $button_fast_view; ?></span></a>
    <span class="button"><? echo $text_waiting; ?></span>
    <? } else { ?>
    <span class="button"><? echo $text_waiting; ?></span>
    <? } ?>
    по аналогии с категорией, но выдаёт ошибку
    Код:
    Notice: Undefined variable: product in D:\Programs\OpenServer\domains\site\catalog\view\theme\mytheme\template\module\filterpro.tpl on line 369
    Проблема не в шаблоне вывода, а в контроллере, там не обозначена переменная product. Я пробовал обозначать, добавлять массив $this->data['products'][] = array() в контроллер фильтра, не вышло, а в пхп дописать я не особо силен... Так что если бы все было так просто....
     
  4. Spartak

    Spartak

    Регистрация:
    23 дек 2012
    Сообщения:
    151
    Симпатии:
    57
    А может стоит попробовать что-то типа
    Код:
    {{if quantity}}
    <a onclick="addToCart('${product_id}');" class="button"><span><?php echo $button_cart; ?></span></a>
    <a rel="<? echo '${product_id}';?>" class="fast_view button"><span><?php echo $button_fast_view; ?></span></a>
    <span class="button"><? echo $text_waiting; ?></span>
    {{else}}
    <span class="button"><? echo $text_waiting; ?></span>
    {{/if}}
    
     
  5. Grek

    Grek

    Регистрация:
    18 янв 2013
    Сообщения:
    172
    Симпатии:
    19
    Пока нет, просто начало выводить все товары с выключенной кнопкой "Нет в наличии", даже те, которые есть в наличии. Но направление правильное, я тоже начал ковырятся в переменных самого фильтра типа stock и quantity)
     
  6. Spartak

    Spartak

    Регистрация:
    23 дек 2012
    Сообщения:
    151
    Симпатии:
    57
    тогда может просто сменить условие на это?
    Код:
    {{if allowed_buy}}
    <a onclick="addToCart('${product_id}');" class="button"><span><?php echo $button_cart; ?></span></a>
    <a rel="<? echo '${product_id}';?>" class="fast_view button"><span><?php echo $button_fast_view; ?></span></a>
    <span class="button"><? echo $text_waiting; ?></span>
    {{else}}
    <span class="button"><? echo $text_waiting; ?></span>
    {{/if}}
     
  7. Grek

    Grek

    Регистрация:
    18 янв 2013
    Сообщения:
    172
    Симпатии:
    19
    Теперь опять все "Нет в наличии" ((
     
  8. Grek

    Grek

    Регистрация:
    18 янв 2013
    Сообщения:
    172
    Симпатии:
    19
    Поиски по форумам ответов не дали, придумал решение "в обход" :
    1) Ставим модуль product-display-settings.xml (под FilterPro).
    2) Включаем в настройках модуля фильтра отображение Поля Отображать stock status/qty?" (чтобы по нему можно было сравнивать)
    3) В filter_pro.php после
    Код:
    protected function index($setting) {
    вставляем
    Код:
    $this->data['text_waiting'] = $this->language->get("text_waiting");
    4) В filter_pro.tpl после
    Код:
    <div class="cart">
    добавляем:
    Код:
    {{if stock > 0}}
    <a onclick="addToCart('${product_id}');" class="button"><span><?php echo $button_cart; ?></span></a>
    	<a rel="<? echo '${product_id}';?>" class="fast_view button"><span><?php echo $button_fast_view; ?></span></a>
    {{else}}
    <span class="button"><? echo $text_waiting; ?></span>
    {{/if}}
    Все, должно отображать, товары, которых нет в наличии с выключенной кнопкой "Нет в наличии". Так что эту проблему решил-таки, тема закрыта)