palerm0

Сортировка в категориях по умолчанию (цена низкая-высокая)

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

palerm0    0

Здравствуйте!

Столкнулся с таким вопросом "Как по умолчанию сделать сортировку в категории по цене?" Вроде весь форум по этой тематике прочитал, но конкретного не нашел.

opencart 1.5.1.3

Если кто вкурсе где, что менять? подскажите пожалуйста!

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


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

По идее надо править файль модели и менять в запросе сортировку.

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


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

А в каком именно файле?

Наверное, в этом catalogmodelcatalogcategory.php

Не уверен точно. В одном из файлов в папке catalogmodel :)

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


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

public function getCategories($parent_id = 0) {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");

Вот эту строчку менять?

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


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

catalog -> controller - > product -> category.php

Вроде в этом файле где то

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


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

Судя по названию таблицы в запросе category не там смотреть я вам насоветовал.

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


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

catalog -> controller - > product -> category.php

Вроде в этом файле где то

Тоже об этом подумал :)

Там есть $this->data['sorts'] = array(); а ниже варианты сортировки, можно поэкспериментировать с параметрами.

Если сделать так:

$this->data['sorts'][] = array(

'text' => $this->language->get('text_default'),

'value' => 'p.sort_order-ASC',

'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)

);

То срабатывает только после выбора сортировки вручную :(

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


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

if (isset($this->request->get['sort'])) {

$sort = $this->request->get['sort'];

} else {

$sort = 'p.sort_order';

Вроде нашел где... А что на что менять?...

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


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

$this->data['sorts'][] = array(

'text' => $this->language->get('text_default'),

'value' => 'p.price-ASC',

'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)

);

Вот вроде сделал по логике... Но ничего не изменилось...

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


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

Есть еще варианты? :-)

Есть. Но они где-то прячутся :)

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


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

Жаль. Что же делать? Как быть? :-)

Экспериментировать. Найти решение. И выложить здесь :)

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


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

Экспериментировать. Найти решение. И выложить здесь :)

Может быть просто кто то знает и поделится! А то у меня даже мыслей нет где искать...

Думаю актуальная тема, много кому пригодится!

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


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

catalogcontrollerproductcategory.php

в начале есть код

  if (isset($this->request->get['sort'])) {
   $sort = $this->request->get['sort'];
  } else {
   $sort = 'p.price'; // тут поставить что требуется
  }

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


Ссылка на сообщение
Поделиться на другие сайты
ingenerks    295
n-mikael    0

catalogcontrollerproductcategory.php

в начале есть код

  if (isset($this->request->get['sort'])) {
   $sort = $this->request->get['sort'];
  } else {
   $sort = 'p.price'; // тут поставить что требуется
  }

Спасибо

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


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

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

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

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

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

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

Войти

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

Войти


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

    • От Izrajk
      Здравствуйте.
       
      Моя цель, сделать сортировку по совпадению с словом, которое находится в поиске.
      \catalog\model\catalog\product.php 
      В методе getProducts(), я поменял строку 
      $sql .= " " . implode(" AND ", $implode) . ""; На 
      $sql .= " " . implode(" OR ", $implode) . ""; и так же поменял в методе getTotalProducts().
      Сделано это для того, чтобы поиск у меня искал результаты отдельно по словам и именно поэтому мне и нужна эта сортировка.
      Так же понял, чтобы поменять стандартную сортировку нужно идти в \catalog\controller\product\category.php
      Как мне правильно применить функцию similar_text() ,которая вычисляет степень похожести двух строк, в сортировку по названию товара? 
      Т.е если я сейчас ввожу samsung 420 он отдельно ищет в словах samsung и 420 и дальше выдаёт свою сортировку по дефолту, а мне нужно чтобы на первом месте было samsung 420vw и т.д. Думаю понятно объяснил ) Есть какие-нибудь варианты решения данной задачи?
       
       
      Заранее спасибо.
    • От REDDI
      Всем привет. Как я понял к товарам можно добавить атребуты. к примеру размер чего то там, цвет и тд. а как можно сделать сортировку по этим параметрам? и можно ли вообще без кода? Заранее спасибо
    • От kolesikmixer
      Всем привет! Ребят столкнулся с такой бедой, сделали сайт, установили выгрузку из 1с, всё приходит всё здорово. 
      Приходит всё так: 
      1 поле) Артикль+ название
      2 поле) Модель (он же артикль)
      за основу сортировки взял модель - но можно и название 
      у артикля всего 8 знаков, где каждый из них несёт нагрузку смысловую, первые 4 знака это не основные параметры, а вот вторая четвёрка нужна для сортировки
      тоесть сортировка в первую очередь должна срабатывать на последние 4 цифры модели и только потом - если получится сортировать первые 4
      ни малейшего представления каким образом это реализовывать.
    • От valadi
      Установил FilterPro в шаблон 2.x Revolution на ocStore-2.3.0.2
       
      1. Вместо сортировки по возрастанию цены, делает сортировку по наименованию пример на моем сайте,
      2. Вместо отображения атрибутов, и цены в карточке товара (работает без FilterPro), отображает описание (с FilterPro).
       
      Если нужна дополнительная информацию, предоставлю.
       
    • От Otvet


      Просмотреть файл Sorts&Limits : Настраиваемая сортировка
      Внимание с FilterPro на Opencart 2.x возможны проблемы (фильтр сам перегружает товары после открытия страницы по своему) Модуль позволяет настраивать сортировку товаров в категориях/производителях/поиске/акциях, а так же добавляет новые варианты сортировки товаров.
      Так же имеется возможность управлять кол-вом товара на страницу и скрывать товары не в наличии
      Функции:
      настройка вывода пунктов сортировки в магазине выбор сортировки по умолчанию добавление сортировки по Новизне и Остатку возможность выводить сначала товары в наличии выбор вариантов сортировки по наличию (статус или нулевой остаток) возможность скрыть товары не в наличии настроить список чисел вывода кол-ва товара Совместимость:
      Opencart 2.x и модификации
      Opencart 1.5.x и модификации
      Установка 2.0:
      Зайдите в Дополнения - Установка Выберите файл *.ocmod.zip (распаковывать не нужно) После установка перейдите в Дополнения - Модификации и обновите кеш Перейдите в Дополнения - Модули и активируйте модуль SORTS+ Выберите нужные настройки и Сохраните При возникновении проблем, установите это http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18892 Установка 1.5:
      Распакуйте архив в корень сайта Очистите папку vqcache Перейдите в Дополнения - Модули и активируйте модуль SORTS+ Выберите нужные настройки и Сохраните Автор Otvet Добавлен 04.10.2015 Категория Модули Работает на OpenCart Системные требования Работает на ocStore Сайт разработчика Работает на OpenCart.Pro, ocShop Старая цена Метод активации Ioncube Loader  
  • Последние посетители   0 пользователей онлайн

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