Автор Тема: Рекомендуемые товары на главной (сортировка)  (Прочитано 2050 раз)

29 Августа 2013, 09:47:35
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день! Подскажите пожалуйста, как изменить порядок товаров на главной странице, которые отображаются в модуле "рекомендуемые товары на главной"?
В самом модуле сортировки нет. Сортируются они там видно по ID, то есть порядку добавления товаров в каталог. Но как этот порядок в поменять я не нашел. или хотя бы ID. Есть способ изменить порядок товаров на главной или в каталоге?
29 Августа 2013, 10:56:20
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22166
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Сортировку для homefeatured можно изменить в коде.
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); Для категорий тоже самое, так как везде выбор товаров для категории это функция getProducts в классе Category
/**
  * Return current category products
  *
  * @param integer $id_lang Language ID
  * @param integer $p Page number
  * @param integer $n Number of products per page
  * @param boolean $get_total return the number of results instead of the results themself
  * @param boolean $active return only active products
  * @param boolean $random active a random filter for returned products
  * @param int $random_number_products number of products to return if random is activated
  * @param boolean $check_access set to false to return all products (even if customer hasn't access)
  * @return mixed Products or number of products
  */
public function getProducts($id_lang, $p, $n, $order_by = null, $order_way = null, $get_total = false, $active = true, $random = false, $random_number_products = 1, $check_access = true, Context $context = null){
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
29 Августа 2013, 12:15:39
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 974
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Можно сделать так чтобы выдача была случайная, каждый раз при открытии новой страницы.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
29 Августа 2013, 12:57:02
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 13458
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можно сделать так чтобы выдача была случайная, каждый раз при открытии новой страницы.
А как сдеалать случайную выдачу?
29 Августа 2013, 14:57:27
Ответ #4
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сортировку для homefeatured можно изменить в коде.
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); Для категорий тоже самое, так как везде выбор товаров для категории это функция getProducts в классе Category
/**
  * Return current category products
  *
  * @param integer $id_lang Language ID
  * @param integer $p Page number
  * @param integer $n Number of products per page
  * @param boolean $get_total return the number of results instead of the results themself
  * @param boolean $active return only active products
  * @param boolean $random active a random filter for returned products
  * @param int $random_number_products number of products to return if random is activated
  * @param boolean $check_access set to false to return all products (even if customer hasn't access)
  * @return mixed Products or number of products
  */
public function getProducts($id_lang, $p, $n, $order_by = null, $order_way = null, $get_total = false, $active = true, $random = false, $random_number_products = 1, $check_access = true, Context $context = null){

Спасибо! По крайней мере у меня получилась сортировка рандом:
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10),null,null,false,true,true,25); (тут последние два параметра - true и 25 это рандомная сортировка и вывод 25 позиций на главной.

В принципе понятно как сортировку сделать, это поля $order_by = null, $order_way = null
Но как в них указать что например по артикулу надо сортировать? Я так и не понял...
29 Августа 2013, 15:11:00
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86185
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
как в них указать что например по артикулу надо сортировать?
$order_by = 'reference';
$order_way ='ASC'; // или 'DESC'