Здравствуйте, проблема такая - в списке категории товаров все товары, которых нет в наличии выводятся с выключенной кнопкой ("Нет в наличии"), при этом покупатель не может заказать товар (кнопка не активна). Но в Filter Mega Pro кнопка "Купить" у товара, у которого количество 0 активна, и клиент может сделать заказ. Может кто сталкивался, как решить проблему, чтобы в фильтре тоже отображалась выключенная кнопка "Нет в наличии" ? OC 1.5.4.1
Добрый день. Попробуйте указать похожее (на то, что стоит на странице категории) условие для отображения кнопки "Купить" теперь и в файле catalog/view/theme/ваша тема/template/module/filterpro.tpl ?
Пробовал указывать Код: <? 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() в контроллер фильтра, не вышло, а в пхп дописать я не особо силен... Так что если бы все было так просто....
А может стоит попробовать что-то типа Код: {{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}}
Пока нет, просто начало выводить все товары с выключенной кнопкой "Нет в наличии", даже те, которые есть в наличии. Но направление правильное, я тоже начал ковырятся в переменных самого фильтра типа stock и quantity)
тогда может просто сменить условие на это? Код: {{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}}
Поиски по форумам ответов не дали, придумал решение "в обход" : 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}} Все, должно отображать, товары, которых нет в наличии с выключенной кнопкой "Нет в наличии". Так что эту проблему решил-таки, тема закрыта)