Перейти к содержанию
budulev

Изменить сортировку товаров в категории (по умолчанию)

Рекомендуемые сообщения

Привет, надо реализовать сортировку товара в категориях так: товары идут  по времени добавления, то есть более новые товары выше, а товары которых нет в наличии бросать в самый низ.

 

с предложениями и ценами можно обращаться в личку или скайп(в профиле) !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вариант, можете самостоятельно сделать, смотрите здесь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вариант, можете самостоятельно сделать, смотрите здесь

спасибо, находил подобное еще тут  но:

1) товарищ  не справился

2) мало знаний

3) мало времени

отсюда -> ищу специалиста! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

catalog/model/catalog/product.php

 

найти

 

if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY " . $data['sort'];
}
} else {
$sql .= " ORDER BY p.sort_order"; 
}

заменить на 

 

if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY p.price = 0, p.quantity = 0,LCASE(" . $data['sort'] . ")";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY p.price = 0, p.quantity = 0,(CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY p.price = 0, p.quantity = 0," . $data['sort'];
}
} else {
$sql .= " ORDER BY p.price = 0, p.quantity = 0,p.sort_order";
}
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

поменял .... все по старому!

Изменено пользователем afwollis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При наличии фильтра все эти изменения и не принесут ничего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При наличии фильтра все эти изменения и не принесут ничего.

Зависит от фильтра - того, как именно он выводит результаты. Если полностью своя функция - тогда да. Если через стандартные - вроде бы не должно проблем возникнуть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если это предположим Фильтр Про то это вообще в настройках самого фильтра делается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если это предположим Фильтр Про то это вообще в настройках самого фильтра делается.

1) Том, ты ж е знаешь что у меня и так стоит фильтр-про... а пишешь предположим

2) в старой версии этого модуля нет этого функционала, т.е можно скрыть проданные товары, 

3) я так понимаю необходимо переустановить Фильтр -про

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 28.01.2015 в 10:50, Tom сказал:

catalog/model/catalog/product.php

 

найти

 


if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY " . $data['sort'];
}
} else {
$sql .= " ORDER BY p.sort_order"; 
}

заменить на 

 


if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY p.price = 0, p.quantity = 0,LCASE(" . $data['sort'] . ")";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY p.price = 0, p.quantity = 0,(CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY p.price = 0, p.quantity = 0," . $data['sort'];
}
} else {
$sql .= " ORDER BY p.price = 0, p.quantity = 0,p.sort_order";
}

Том - ты лучший !!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От likesmartass
      300.00 руб
      Скачать/Купить дополнение


      Сортировка перетаскиванием Drag & Drop Sort (товары, категории, атрибуты, опции, производители, статьи)
      Сортировка товаров, категорий, производителей, атрибутов, групп атрибутов, опций, статей одной лишь мышкой! (OpenCart 2.3.x/OcStore 2.3.x)
       
       
      Demo url: http://oc23en.505559.ru/admin/index.php?route=catalog/product
      Demo login: demo
      Demo pass: demo
       
       
       
      Как работать с модулем:
       
      1) Для активации сортировки, необходимо нажать кнопку "Режим перетаскивания".
           
       
      2) (Необязательно!) Если у Вас в магазине много товаров с одинаковым значение сортировки, то нажмите кнопку "Упорядочить сортировку", для автоматической расстановки значений.
           
       
      3) Для сортировки, просто потяните за кнопку или измените числовое значение в поле "Сортировка".
          
       
       
      Автоматическая сортировка расставляет значения "через 1", это сделано для того, чтобы, в ручную можно было расставить номера сортировки легче (т.к. между соседними номерами "зазор").
       
      Гарантируется совместимость со стандартным OpenCart 2.3 и ocStore 2.3. Если у Вас установлены другие модули, мешающие данному модулю, то Вы всегда можете обратиться за адаптацией по почте ed.smartass@gmail.com. Если мешающий модуль/тема популярен (200+ покупок), то адаптация бесплатно!
       
       
      Модуль не заменяет никакие файлы.
      Для установки использовать стандартный установщик OpenCart.
       
      Установка:
      (Дополнения / Установка дополнений) Установите DragSort.*.ocmod.zip, (Дополнения / Менеджер дополнений) Нажмите кнопку обновить.  
      По всем вопросам, багам, замечаниям, предложениям обращаться:
      Почта: ed.smartass@gmail.com; skype: wari0z  
      Добавил likesmartass Добавлено 06.10.2018 Категория Модули Системные требования Сайт разработчика mailto:ed.smartass@gmail.ru Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop  
    • От likesmartass
      Сортировка товаров, категорий, производителей, атрибутов, групп атрибутов, опций, статей одной лишь мышкой! (OpenCart 2.3.x/OcStore 2.3.x)
       
       
      Demo url: http://oc23en.505559.ru/admin/index.php?route=catalog/product
      Demo login: demo
      Demo pass: demo
       
       
       
      Как работать с модулем:
       
      1) Для активации сортировки, необходимо нажать кнопку "Режим перетаскивания".
           
       
      2) (Необязательно!) Если у Вас в магазине много товаров с одинаковым значение сортировки, то нажмите кнопку "Упорядочить сортировку", для автоматической расстановки значений.
           
       
      3) Для сортировки, просто потяните за кнопку или измените числовое значение в поле "Сортировка".
          
       
       
      Автоматическая сортировка расставляет значения "через 1", это сделано для того, чтобы, в ручную можно было расставить номера сортировки легче (т.к. между соседними номерами "зазор").
       
      Гарантируется совместимость со стандартным OpenCart 2.3 и ocStore 2.3. Если у Вас установлены другие модули, мешающие данному модулю, то Вы всегда можете обратиться за адаптацией по почте ed.smartass@gmail.com. Если мешающий модуль/тема популярен (200+ покупок), то адаптация бесплатно!
       
       
      Модуль не заменяет никакие файлы.
      Для установки использовать стандартный установщик OpenCart.
       
      Установка:
      (Дополнения / Установка дополнений) Установите DragSort.*.ocmod.zip, (Дополнения / Менеджер дополнений) Нажмите кнопку обновить.  
      По всем вопросам, багам, замечаниям, предложениям обращаться:
      Почта: ed.smartass@gmail.com; skype: wari0z  
    • От dai10v
      300.00 руб
      Скачать/Купить дополнение


      Отображение и сортировка товаров в категории
      Отображение и сортировка товаров в категории
      ==========================================
      Модуль отображения и сортировки товаров в категории позволяет быстро посмотреть и отсортировать товары(с помощью метода drag and drop), находящиеся в выбранной категории с последующим выводом их в такой же последовательности покупателям.
      Требования и ограничения
      ========================
      Для работоспособности модуля необходим Opencat версии 1.5.6.х и vQmod v2.0 и выше
      Установка
      ============
      Шаг 1)
      Загрузите папки admin и vqmod и их файлы в корень сайта.
      Шаг 2)
      В панеди администрирования зайти в Дополнения -> Модули(Extensions -> Modules). Установить модуль «Товары категории(отображение и сортировка)»(«Products category(show and autosorting)»)
      Дополнительная информация
      ============================
      Этот модуль был успешно протестирован на версиях Opencart 1.5.6.x.
      Не рекомендуется использовать модуль на других Opencart/OcStore версиях.
      Если вам нужна специальная версия модуля, пишите на адрес volodyahome@gmail.com
      Обновления
      =============
      Обновления модуля бесплатно и не ограничивается сроком или версией.
      Добавил dai10v Добавлено 03.07.2014 Категория Фильтры  
    • От vilija
      300.00 руб
      Скачать/Купить дополнение


      DRAG&DROP сортировка товаров (VQMOD)
      Сортировка товаров в админке методом DRAG&DROP ( перетаскивание ).
      Назначенный порядок сортировки будет использован как "Сортировка по умолчанию" при открытии соответствующей категории магазина .
      Модуль добавляет в админку колонку - сортировка по категории.
      Модуль позволяет перемещать товар между страницами ( админка ).
      Для этого товар нужно перетащить на соответствующую страницу пагинации.
      По умолчанию товару назначается самый нижний приоритет сортировки - 10000. Т.е. он будет в конце выдачи.
      Сразу после установки модуля у всех товаров будет это значение.
      Для инициализации сортировки достаточно перенести любой товар на другую страницу ( если у вас несколько страниц в категории )
      Если весь товар категории помещается на одной странице - достаточно сделать перемещение любого товара на новую позицию.
      После инициализации товары категории получат порядок сортировки от 0 до MAX количества товаров.
      Важно - возможность сортировки включается только когда выбрана категория и не используются остальные фильтры.
      Важно - данный файл предназначен для магазинов у которых в админке нет сортировки по категориям - он устанавливает свою.
      ( для магазинов с сортировкой по категориям будет отдельный файл ).
      Лицензия действительна на один домен. Если вы хотите поставить модуль еще на один домен, вы должны приобрести еще одну копию модуля.
      Демо - http://15511.electrons.in.ua/admin
      demo/demo
      ( Каталог->Товары. Не забудьте выбрать категорию товара .)
      Установка.
      Файл тестировался на версиях движка - 1.5.1.3 , 1.5.3.1, 1.5.4.1.2 (D&D_sort_product_154.zip)
      Для 1.5.5.1.1 (D&D_sort_product_155.zip)
      2.0.1.1,2.1.0.1(D&D_sort_product_oc_2_1_0_2.ocmod.zip)
      Для установки требуется VQMOD.
      Сделать бекап базы данных.
      Закачать содержимое папки Upload в корень сайта.
      Зайти в админку Каталог -> Товары
      При этом добавляются необходимые поля в Базу Данных. После этого можно удалить файл в каталоге vqmod/xml/drag_and_drop_sort_update_bd.xml.
       
       
      Добавлена версия для 2.3.х
       
       
      Добавил vilija Добавлено 25.09.2013 Категория Фильтры Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart ocStore OpenCart.Pro, ocShop  
    • От mylifeyd
      Добрый день!
      Прошу помощи в решении одной проблемы, может ранее кто сталкивался.
      Суть: не актуальным/распроданным товарам присваиваю цену 0, что бы сместить их в конец списка категории.
      Проблема получается с сортировкой "от дешевых к дорогим" и на оборот.
      Есть ли вариант указать условие, что бы подсчет от меньшего к большему начинался с 1 или 2 к примеру ?
      Код  - контроллера категории
       
      $data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) );  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.