[Помогите] Как сделать изменения статуса товаров

Тема в разделе "OpenCart", создана пользователем MGT1, 28 мар 2018.

  1. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Опенкарт 1.5.6.4
    По логике я так понимаю товар либо есть либо нет.
    Как сделать к примеру что если меньше 3 - товар заканчивается?
    --- Добавлено, 28 мар 2018 ---
    Я так понимаю в опенкарта если товара 0 - "Нет в наличии, Предзаказ и т.п." (что сам придумаешь)
    Если 1 - "Товар в наличии" (или что себе сам придумаешь).

    Но с коробки возможности разграничить нету.
    --- Добавлено, 28 мар 2018 ---
    Можно как вариант использовать модуль:


    Но ради такой мелочи стоит ли грузить систему?
    --- Добавлено, 28 мар 2018 ---
    Как вариант можно попробовать переписать систему:

    /catalog/controller/product/category.php после:
    PHP:
    if ($this->config->get('config_review_status')) {
                        
    $rating = (int)$result['rating'];
                    } else {
                        
    $rating false;
                    }
    if (
    $this->config->get('config_review_status')) {
     
    $rating = (int)$result['rating'];
     } else {
     
    $rating false;
     }
    вставить:
    PHP:
    if ($result['quantity'] <= 0) {
     
    $stock $this->language->get('text_outstock');
     } elseif (
    $this->config->get('config_stock_display')) {
     
    $stock $result['quantity'];
     } elseif (
    $result['quantity'] >= AND $result['quantity'] <= 2) {
     
    $stock $this->language->get('text_minstock');
     } else {
     
    $stock $this->language->get('text_instock');
     }
    ________________________________________________
    catalog/language/russian/product/product.php вставляем
    PHP:
    $_['text_instock']      = '<span style="color: #50B849;">Есть в наличии</span>';
    $_['text_minstock']     = '<span style="color: #353578;">Заканчивается</span>';
    $_['text_outstock']     = '<span style="color: #FF0000;">Нет в наличии</span>';
    $_['text_instock']      = '<span style="color: #50B849;">Есть в наличии</span>';
    $_['text_minstock']     = '<span style="color: #353578;">Заканчивается</span>';
    $_['text_outstock']     = '<span style="color: #FF0000;">Нет в наличии</span>';
    /catalog/view/theme/ваша_тема/template/product/category.tpl после строки:
    PHP:
    <h3 class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h3>
    вставляем:
    PHP:
    <div><?php echo $product['stock']; ?></div><br/>
    --- Добавлено, 28 мар 2018 ---
    Но тогда вы будете привязаны к 3 вариантам. + не забываем про мультиязычность
    --- Добавлено, 28 мар 2018 ---
    По-этому стоит вопрос есть ли ищё какое-либо решение?
    --- Добавлено, 28 мар 2018 ---
    И кстати модуль Статусы товаров есть у кого?
     
  2. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Ну, идея изначально правильная, просто для мультиязычности надо статусы посоздавать в админке стандартным образом и подставлять их оттуда:
    PHP:
    "SELECT ss.name FROM " DB_PREFIX "stock_status ss WHERE ss.stock_status_id = '" . (int)$stock_status_id "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "'"
    В $stock_status_id - id нужного статуса.
    Запрос запихнуть в модель и вызывать из контроллера вместо подтягивания статуса из языкового файла.


    Если позамарачиваться сильней, можно ещё где-нибудь в админке впилить настройку количества, при котором этот статус выводиться (например, прямо в форме редактирования статусов). Тогда выборка будет не по по id статуса, а по добавленной в эту таблицу колонке с числом остатка товара, а код в контроллере станет универсальным и будет просто вызывать метод модели передавая количество товаров. Надо только как-то унифицировать количество, больше которого статус уже всегда одинаковый.
     
  3. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    А как в вкьмодом это сделать? Думаю многим этот модуль будет полезен, и стоить будет дешевле чем комбайн статусы Про.
     
    Последнее редактирование: 28 мар 2018
  4. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Я его принципиально не переношу! Появление его аналога в двойке (окмод) стало одной из основных причин, почему я перестал делать новые магазины на ОК и перешёл на поддержку/допилы.
     
    Baco нравится это.
  5. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    т.е. лучше вписать в таком формате, чем йти через него?
     
  6. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306