Вход • Регистрация

Сортировка товаров по цене

  • 30 июня 2014 г.
  • Подскажите, плиз, где чего просписать чтобы товары были отсортированы от наименьшей цены до самой большой.
    • 02 июля 2014 г.
    • они же в штате сортируются вроде как
      • 02 июля 2014 г.
      • нет, что они автоматом были отсортированы по цене, без строки сортировки
        • 03 июля 2014 г.
        • если посмотреть на функцию list_query то можноу видеть строку
          " GROUP BY s.id ORDER BY ".($this->diafan->sort ? $this->sort_config['sort_directions'][$this->diafan->sort].',' : '')

          в которой указано, что при наличии сортировки необходимо использовать настройки из sort_config

          То есть, для получения нужного вам результата надо всего то в начале этой функи сделать так:
          $this->diafan->sort = 1:
          1 - в том случае, если настройки не менялись и 1 - это сортировка по цене.

          Если необходима такая сортировка везде - добавьте эту же строку в конструктор класса.
          • 03 июля 2014 г.
          • да так пробовал сперва не сработало, написал в ТП

            Код
            Это из-за несатнадартного деления на колонки в шаблоне modules/shop/views/shop.view.list.php. В дефолтном шаблоне товары сначала делятся на колонки, а затем выводятся каждый блок в своей колонке. У Вас же товары выводятся один за одним. Из-за этого нарушен порядок.

            Используйте вместо:

            $rows = array(array(), array(), array(), array());

            $t = 0;
            foreach ($result["rows"] as $row => $value)
            {
            if($t > 3) $t = 0;
            $rows[$t][] = $value;
            $t++;
            }

            foreach ($rows as $value)
            {
            echo '<div class="shop-col">';
            foreach ($value as $row)
            {

            простое:

            foreach ($result["rows"] as $row)

            • 27 ноября 2014 г.
            • На всякий случай приложу файл shop.model, чтоб потом опять не искать как делать сортировку товаров по цене в Диафан (ключевик для яндекса). Может кому еще пригодится.
  • 25 января 2018 г.
  • Уже давняя тема, вот актуальная для версии 6.0.6.5
    Файл shop.model.php

    В функции list_elements_query вначале вставляем сл.код и все.
    Код
    $this->diafan->_route->sort = $this->diafan->_route->sort ? $this->diafan->_route->sort : 1;
    • 21 июня 2018 г.
    • Подниму вопрос. А как сделать подобную сортировку после фильтрации? Получается, что изначально показывается сортированным по цене, но как только делается фильтр например по производителю или любому другому параметру, сортировка сбивается.
      • 21 июня 2018 г.
      • Если фильтр использует ajax, то сортировка остается.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум