Сортировка товаров категории во фронте

Коллеги, доброго времени суток.

Что-то я потерялся =( Не тыкнете носом, где в коде происходит обработка заданной сортировки товаров в категории?

В частности интересует обработка ?sort=total_sales


2 ответа

  • 1
    creativit.ru 28 февраля 2017 07:08 #

    Мне кажется вам нужен класс shopProductsCollection

    • +1
      BNP (Дмитрий) BNP (Дмитрий) 28 февраля 2017 18:01 #

      Мне тоже так кажется =) Я его вдоль и поперек изучил, но вот связки с фильтрацией не нашел =( Точнее нашел для варианта ?sort=sort ... но это не совсем то, что мне надо.

  • 2
    Алексей Webasyst 28 февраля 2017 20:16 #

    Сначала shopFrontendCategoryAction, а потом уже shopProductsCollection через поиск по sort найдёте

    • +1
      BNP (Дмитрий) BNP (Дмитрий) 28 февраля 2017 23:43 #

      Алексей, эти классы я изучил в первую очередь, но ... не нашел там нужного кода (может я, конечно, и логику не до конца понял).

      Если не трудно, тыкнете хотя бы в нужные мне методы в этих классах.

      Заранее спасибо.

      • +1
        Genasyst Genasyst 1 марта 2017 00:56 #

        А вы точно в вебасисте искали?)))

        • +1
          BNP (Дмитрий) BNP (Дмитрий) 1 марта 2017 01:42 #

          Порой меня тоже терзают эти сомнения, но бездушный phpStorm их рассеивает в момент ;)

      • +1

        Скорее всего, вас заинтересует этот метод. И дополнить его фильтрацией по категории.

        • +1
          BNP (Дмитрий) BNP (Дмитрий) 1 марта 2017 01:41 #

          Хм ... его довольно сложно найти по sort =)

          И я забыл уточнить ... версия Shop-Script 6.3.0.44568 и тут этот метод отсутствует. Обновляться - не вариант.

          Можно, конечно, этот метод впилить и в эту версию и добавить его обработку, но не хочется уж совсем движок корячить. Может подскажите решение для вышеобозначенной версии? =)

          • +1
            Николай Иванов Николай Иванов 1 марта 2017 09:50 #

            Есть магаз на точно такой же версии.
            Насколько я вижу, там всё точно также как и в 7-ке.
            Класс shopProductsCollection. метод prepare

            if ($sort = waRequest::get('sort')) {
                            if ($sort == 'stock') {
                                $sort = 'count';
                            }
                            if (waRequest::get('order') == 'desc') {
                                $order = 'DESC';
                            } else {
                                $order = 'ASC';
             и т.д. 

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите