[Помогите] Товар

Тема в разделе "OpenCart", создана пользователем Savok32, 4 окт 2013.

  1. Savok32

    Savok32

    Регистрация:
    18 дек 2012
    Сообщения:
    331
    Симпатии:
    51
    Ситуация такая, если такой модуль? или мб кто знает как это в ручную сделать.


    Есть сетка товаров, когда товара нет в наличии....он убирается из сетки товара, но если набрать путь до карточке товара, то карта будет показываться. Как это реализовать.
     
  2. cobalt

    cobalt Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    278
    Симпатии:
    127
    catalog/model/catalog/product.php
    В 14 строчке убираешь
    AND p.status = '1'
     
    Savok32 и gnommong нравится это.
  3. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    И начнут показываться "выключенные" товары. А, как я понял, ТС не что выключенные не нужно выводить, и включенные, но которых нет на складе.
    Соответственно в запрос нужно вводить проверку поля stock_status_id.
    Но нужно будет проверять не взбрыкнет ли при попатке зайти на него. Можно в product.tpl глянуть.

    Не, не пойдет. 14-я строчка относится к методу getProduct - т.е. получить полные данные о товаре. Как раз это и не даст зайти напрямую.
    Модифицировать нужно метод getProducts - он как раз список продуктов формирует

    Например, можно в 83-й строке (она пустая) вписать:
    $sql .= " AND p.stock_status_id<>5";
    5 - условно. Нужно посмотреть в таблице stock_status запись, которая соответствует статусу "нет на складе" и подставить вместо 5 правильный id.
     
    Последнее редактирование: 4 окт 2013
  4. cobalt

    cobalt Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    278
    Симпатии:
    127
    Да, именно так и будет. По прямой ссылке будут показываться выключенные товары.
    Хз, что ТС имел в виду.:smile: Надо ТЗ составлять правильно.
    Если надо, чтобы товары, которых нет в наличии, автоматически пропадали из списка в каталоге, но были доступны по прямой ссылке, надо:

    в файле 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') . "'";
     
    Сентинел нравится это.
  5. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    Ну да, тут спорный вопрос - что для ТС товар, которого нет в наличии - товар со статусом "нет в наличии" или товар с нулевым количеством. Тут уж ему только решать.
    Абсолютно согласен
     
  6. buldozer

    buldozer

    Регистрация:
    7 окт 2012
    Сообщения:
    105
    Симпатии:
    43
    Работает так как и просил автор в первом посте проверено.
     
    MichaelFess нравится это.
  7. Savok32

    Savok32

    Регистрация:
    18 дек 2012
    Сообщения:
    331
    Симпатии:
    51
    и еще, когда мы убрали товар которого нету в наличии с секти товара, как реализовать так (Когда нет в наличии - неотображается в категории" тут еще нужно там, где сортировка позволить ставить людям галочку "Отображать товар, которого нет в наличии", но по умолчанию - скрыт он....надо им позволить дать выбирать! )
     
  8. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    Тут уж парочкой мелких правок не обойтись.
    В любом случае нужно менять и отображение и контроллер и модель!
    Реально, конечно, но не думаю, что кто-то все это проделает из соображений альтруизма.
    Если Вам нужны подсказки - пожалуйста, если готовый код - врядли ...
     
  9. Savok32

    Savok32

    Регистрация:
    18 дек 2012
    Сообщения:
    331
    Симпатии:
    51
    мб модуль такой есть?
     
  10. kuday

    kuday

    Регистрация:
    30 ноя 2012
    Сообщения:
    24
    Симпатии:
    1
    Сделал согласно инструкции buldozer на версии 1.5.5.1 нашел нужный код в 115 строке, отмечу подобные строки встречаются потом еще 3 раза. Работает, из категорий исчез, но есть одно НО - поиском этот товар тоже не находиться, только по прямой ссылке, можно бескровно добавить его в результаты поиска. Или внес условие не в то место?
     
  11. Nurik

    Nurik

    Регистрация:
    3 сен 2016
    Сообщения:
    3
    Симпатии:
    0
    А как сделать так, чтобы товар не добавлялся в корзину после того как закончится на складе в реальном времени?
     
  12. Pant

    Pant

    Регистрация:
    6 фев 2013
    Сообщения:
    121
    Симпатии:
    11
    Тема уже поднималась, я даже модуль допилил для OC2 ССЫЛКА