Помощь Как товары, которых нет в наличии поместить в конец списка?

Тема в разделе "Opencart", создана пользователем wwizard, 21 май 2013.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. wwizard

    wwizard

    Регистр.:
    20 июл 2009
    Сообщения:
    419
    Симпатии:
    12
    Вопрос: Как товары которых нет в наличии автоматически помещать в конец списка? (в заданом разделе с этим товаром)
     
  2. Yuriy_Z

    Yuriy_Z Доработка+ OpenCart

    Регистр.:
    22 июл 2012
    Сообщения:
    159
    Симпатии:
    91
  3. wwizard

    wwizard

    Регистр.:
    20 июл 2009
    Сообщения:
    419
    Симпатии:
    12
    Задана тема не існує.
     
  4. Yuriy_Z

    Yuriy_Z Доработка+ OpenCart

    Регистр.:
    22 июл 2012
    Сообщения:
    159
    Симпатии:
    91
  5. Arcvi

    Arcvi Постоялец

    Регистр.:
    10 май 2013
    Сообщения:
    74
    Симпатии:
    33
    Открой catalog/controller/product/category.php


    ищи строки

    PHP:
    if (isset($this->request->get['sort'])) {
                
    $sort $this->request->get['sort'];
            } else {
                
    $sort 'p.sort_order';
            }
     
            if (isset(
    $this->request->get['order'])) {
                
    $order $this->request->get['order'];
            } else {
                
    $order 'ASC';
            }
    заменяй на
    PHP:
    if (isset($this->request->get['sort'])) {
    $sort $this->request->get['sort'];
    } else {
    //$sort = 'p.sort_order';
    $sort 'p.quantity';
    }
     
    if (isset(
    $this->request->get['order'])) {
    $order $this->request->get['order'];
    } else {
    //$order = 'ASC';
      
    $order 'DESC';
     
    IgSalam, risk_plus и wwizard нравится это.
  6. wwizard

    wwizard

    Регистр.:
    20 июл 2009
    Сообщения:
    419
    Симпатии:
    12
    Спасибо мне нравится, я правда не понял как оно работает.
     
  7. Arcvi

    Arcvi Постоялец

    Регистр.:
    10 май 2013
    Сообщения:
    74
    Симпатии:
    33
    сортирует по умолчанию товары по количеству. т.е. то, чего больше будет вверху, чего меньше или нету вообще в конце списка
     
  8. CAPAXA

    CAPAXA

    Регистр.:
    7 июн 2007
    Сообщения:
    929
    Симпатии:
    555
    Есть более лаконичное решение.
    В моделе catalog\model\product
    в функции getProducts в запросе перед FROM добавь ,
    Код:
    , IF(p.quantity > 0, 1, 0) AS rang
    и замени строку с ORDER BY на ORDER BY rang DESC
     
    wwizard нравится это.
  9. wwizard

    wwizard

    Регистр.:
    20 июл 2009
    Сообщения:
    419
    Симпатии:
    12
    И также самих товаров которых нету, он поместит в конец списка?
    Без установки какого либо модуля, верно?
     
  10. Dorje

    Dorje Писатель

    Регистр.:
    20 май 2013
    Сообщения:
    8
    Симпатии:
    0
    Да. Это изменение кода движка без модуля. Просто вы сделаете это напрямую, руками.