Ситуация такая, если такой модуль? или мб кто знает как это в ручную сделать. Есть сетка товаров, когда товара нет в наличии....он убирается из сетки товара, но если набрать путь до карточке товара, то карта будет показываться. Как это реализовать.
И начнут показываться "выключенные" товары. А, как я понял, ТС не что выключенные не нужно выводить, и включенные, но которых нет на складе. Соответственно в запрос нужно вводить проверку поля stock_status_id. Но нужно будет проверять не взбрыкнет ли при попатке зайти на него. Можно в product.tpl глянуть. Не, не пойдет. 14-я строчка относится к методу getProduct - т.е. получить полные данные о товаре. Как раз это и не даст зайти напрямую. Модифицировать нужно метод getProducts - он как раз список продуктов формирует Например, можно в 83-й строке (она пустая) вписать: $sql .= " AND p.stock_status_id<>5"; 5 - условно. Нужно посмотреть в таблице stock_status запись, которая соответствует статусу "нет на складе" и подставить вместо 5 правильный id.
Да, именно так и будет. По прямой ссылке будут показываться выключенные товары. Хз, что ТС имел в виду. Надо ТЗ составлять правильно. Если надо, чтобы товары, которых нет в наличии, автоматически пропадали из списка в каталоге, но были доступны по прямой ссылке, надо: в файле catalog/model/catalog/product.php в 84 строке после AND p.status = '1' добавить AND quantity > 0 тогда товары, которых нет на складе (кол-во равно 0), не будут отображаться в каталоге, но будут отображаться по прямой ссылке. Примечание. Номер строки (84) указан для версии 1.5.4.1. Если у вас другая версия, номер строки может быть другой. Ищите вот такую строку: $sql .= " WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; и там добавляйте, как описано выше. Должно получиться вот так: $sql .= " WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND quantity > 0 AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";
Ну да, тут спорный вопрос - что для ТС товар, которого нет в наличии - товар со статусом "нет в наличии" или товар с нулевым количеством. Тут уж ему только решать. Абсолютно согласен
и еще, когда мы убрали товар которого нету в наличии с секти товара, как реализовать так (Когда нет в наличии - неотображается в категории" тут еще нужно там, где сортировка позволить ставить людям галочку "Отображать товар, которого нет в наличии", но по умолчанию - скрыт он....надо им позволить дать выбирать! )
Тут уж парочкой мелких правок не обойтись. В любом случае нужно менять и отображение и контроллер и модель! Реально, конечно, но не думаю, что кто-то все это проделает из соображений альтруизма. Если Вам нужны подсказки - пожалуйста, если готовый код - врядли ...
Сделал согласно инструкции buldozer на версии 1.5.5.1 нашел нужный код в 115 строке, отмечу подобные строки встречаются потом еще 3 раза. Работает, из категорий исчез, но есть одно НО - поиском этот товар тоже не находиться, только по прямой ссылке, можно бескровно добавить его в результаты поиска. Или внес условие не в то место?
А как сделать так, чтобы товар не добавлялся в корзину после того как закончится на складе в реальном времени?
Здравствуйте, подскажите как реализовать что бы в сетке товаров рядом с ценой отображалось состояние на складе "В наличии" "Нет в наличии" и тд. ?