[Решено] Товар в наличие всегда первый по сортировке

Тема в разделе "OpenCart", создана пользователем blackfm, 26 июл 2013.

Статус темы:
Закрыта.
  1. blackfm

    blackfm

    Регистрация:
    29 янв 2013
    Сообщения:
    181
    Симпатии:
    34
    в магазине на базе OCstore 1.5.4.1 есть очень много товара. большинство имеет статус "Предзаказ", тоесть, его нет в наличии. А есть много товара, который в реале есть на складе и я бы хотел, что б он отображался всегда выше чем товар, которого нет.
    На данный момент я через ексель вручную присваиваю товару товару, которого нет в наличие (тоесть. количество которого 0), сортировку (sort_order) с номером 2, и он отображается ниже. Также есть фильтр товара, в котором пользователь может убрать товар, которого нет или с статусом "предзаказ", но хотелось бы большей автоматизации. Может есть какие то предложения по этому поводу?
    Как сделать. чтобы товар. в котором "количество на складе" =< 0, автоматически получал Sort_Order = 2 или больше?
     
  2. Berserk163

    Berserk163

    Регистрация:
    16 фев 2013
    Сообщения:
    53
    Симпатии:
    22
    blackfm нравится это.
  3. blackfm

    blackfm

    Регистрация:
    29 янв 2013
    Сообщения:
    181
    Симпатии:
    34
    хорошая идея, но дело в том, что я не знаю, где изменить сортировку по-умолчанию на сортировку "по наличию". Так как на 100%, что большинство клиентов даже не увидят эту функцию
     
  4. VeryGood

    VeryGood

    Регистрация:
    11 дек 2012
    Сообщения:
    216
    Симпатии:
    54
    Делал согласно данному мануалу и все работает ШИКАРНО -
     
    blackfm нравится это.
  5. blackfm

    blackfm

    Регистрация:
    29 янв 2013
    Сообщения:
    181
    Симпатии:
    34
  6. VeryGood

    VeryGood

    Регистрация:
    11 дек 2012
    Сообщения:
    216
    Симпатии:
    54
    Можно было просто в catalog\controller\product\category.php, изменить на:
    if (isset($this->request->get['sort'])) {
    $sort = $this->request->get['sort'];
    } else {
    $sort = 'p.quantity';
    }
    if (isset($this->request->get['order'])) {
    $order = $this->request->get['order'];
    } else {
    $order = 'DESC';

    Источник тот же
     
    avril нравится это.
Статус темы:
Закрыта.