Jump to content
Sign in to follow this  
helen2014

[Решено] Сортировка товаров по цене по дате добавления ocStore -1.5.5.1.2

Recommended Posts

Помогите поменять сортировку в категориях по дате добавления ocStore -1.5.5.1.2

Делали так

if (isset($this->request->get['sort'])) {
            $sort = $this->request->get['sort'];
        } else {
            $sort = 'p.sort_order';
        }

        if (isset($this->request->get['order'])) {
            $order = $this->request->get['order'];
        } else {
            $order = 'ASC';
        }

 

поменяли на

if (isset($this->request->get['sort'])) {
            $sort = $this->request->get['sort'];
        } else {
            $sort = 'p.date_added';
        }

        if (isset($this->request->get['order'])) {
            $order = $this->request->get['order'];
        } else {
            $order = 'DESC';
        }

 

Сортировка не меняется.

Share this post


Link to post
Share on other sites

здесь смотрите

Share this post


Link to post
Share on other sites

Так и сделано. Только по умолчанию сортировка все равно  выводится не по дате добавления.

Share this post


Link to post
Share on other sites

в catalog\controller\product\category.php (насколько я понял), найти:

if (isset($this->request->get['sort'])) {
	$sort = $this->request->get['sort'];
} else {
	$sort = 'p.sort_order';
}

и поменять на:

if (isset($this->request->get['sort'])) {
    $sort = $this->request->get['sort'];
} else {
    $sort = 'p.date_added';
}

Share this post


Link to post
Share on other sites

 

в catalog\controller\product\category.php (насколько я понял), найти:

if (isset($this->request->get['sort'])) {
	$sort = $this->request->get['sort'];
} else {
	$sort = 'p.sort_order';
}

и поменять на:

if (isset($this->request->get['sort'])) {
    $sort = $this->request->get['sort'];
} else {
    $sort = 'p.date_added';
}

Да, все правильно.

Вот такой вопрос: если сортировка была поменяна после добавления товара, этот товар тоже будет сортироваться, или нет? Просто так получается, что если добавляешь новый товар, то да, он выставляется первым, а тот товар, который был добавлен до этого он почему-то не сортируется, даже если в товаре ставишь сегодняшнее число.

 Спасибо.

Share this post


Link to post
Share on other sites

Есть сортировка по date_available и по date_added, 2-й параметр - фактическая дата добавления товара в базу.

 

Так же можно подкорректировать файл модели:

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 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.date_added";	
}

Share this post


Link to post
Share on other sites

Спасибо!

Только товар добавленный до смены сортировки не сортируется. Это возможно как то исправить?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By iBeautiful
      Помогите реализовать в разных категориях сортировку товара, ocStore 2.1.0.2.1 чистая
       
      Вот по этой статье https://for-opencart.com/additions/different-sort-order вываливается ошибка при заходе в любую из категории
       
      Notice: Error: Unknown column 'p2c.category_order' in 'order clause' Error No: 1054 SELECT p.product_id, (SELECT AVG(rating) AS total FROM review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM product_to_category p2c LEFT JOIN product p ON (p2c.product_id = p.product_id) LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '18' GROUP BY p.product_id ORDER BY p2c.category_order ASC, LCASE(pd.name) ASC LIMIT 0,15 in /sait/www/system/library/db/mysqli.php on line 41Notice: Trying to get property of non-object in /sait/www/catalog/model/catalog/product.php on line 193Warning: Invalid argument supplied for foreach() in /sait/www/catalog/model/catalog/product.php on line 193  
    • By 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 Обращение к серверу разработчика  
    • By 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  
    • By 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  
    • By 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 Категория Фильтры  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.