Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Сортировка товаров в порядке подкатегорий


Recommended Posts

Здравствуйте. Нашел много решений для сортировки по алфавиту, цене и т.д.

Но мне необходимо сделать сортировку товаров соответствующую порядку подкатегорий.

Например, у меня есть родительская категория "Ручной инструмент", которая содержит подкатегории "ключи","отвертки", "насадки", Каким образом сделать что бы сначала отображались товары из подкатегории "ключи", затем "насадки", "отвертки".

Спасибо.

Link to comment
Share on other sites


Здравствуйте. Нашел много решений для сортировки по алфавиту, цене и т.д.

Но мне необходимо сделать сортировку товаров соответствующую порядку подкатегорий.

Например, у меня есть родительская категория "Ручной инструмент", которая содержит подкатегории "ключи","отвертки", "насадки", Каким образом сделать что бы сначала отображались товары из подкатегории "ключи", затем "насадки", "отвертки".

Спасибо.

А разве нет порядка сортировки в движке?

1201848f4e9e9d78afccbdc63666dc18.jpg

Link to comment
Share on other sites

Это порядок категорий, а мне нужна сортировка товаров.

Сейчас так:

1ключ 1отвертка 1насадка

2ключ 2отвертка 2насадка

3ключ 3отвертка 3насадка

А нужно так:

1ключ 2ключ 3ключ

1отвертка 2отвертка 3отвертка

1насадка 2насадка 3насадка

Link to comment
Share on other sites


Добавление к public function getProducts($data = array()) {

Не оптимизировал, т.к. используется в магазине с малым кол-вом товаров. Но при желании можно улучшить.

(SELECT sort_order FROM " . DB_PREFIX . "category WHERE category_id =
  (SELECT c.parent_id FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "product_to_category p2cc ON (c.category_id = p2cc.category_id) WHERE p2cc.product_id = p.product_id AND c.parent_id != '0' ORDER BY c.sort_order DESC)
) AS category

и сортировка

$sql .= " ORDER BY category, p.sort_order";

Link to comment
Share on other sites

Добавление к public function getProducts($data = array()) {

Не оптимизировал, т.к. используется в магазине с малым кол-вом товаров. Но при желании можно улучшить.

(SELECT sort_order FROM " . DB_PREFIX . "category WHERE category_id =
  (SELECT c.parent_id FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "product_to_category p2cc ON (c.category_id = p2cc.category_id) WHERE p2cc.product_id = p.product_id AND c.parent_id != '0' ORDER BY c.sort_order DESC)
) AS category

и сортировка

$sql .= " ORDER BY category, p.sort_order";

А можно подробнее?

В каких файлах вызывается эта функция?

Link to comment
Share on other sites


Вызывается во многих, хранится в catalog\model\catalog\product.php.

 $product_data = $this->cache->get('product.' . (int)$this->config->get('config_language_id') . '.' . $cache);

 if (!$product_data) {

  $sql = "SELECT p.product_id, p.image, pd.description, pd.name, p.sort_order,

Ну и там смотрите по коду.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.