Товары на главной в случайном порядке

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

makki
makki
Репутация: 147
Сообщения: 418
Зарегистрирован: 12.08.2016
С нами: 2 года 9 месяцев
Откуда: Киев
Сайт Skype

Сообщение #1 makki » 01.12.2017, 22:50

Простое но полезное решение, которое придаст динамичности вашему магазину.
По умолчанию Хиты продаж, Новинки и Акционные товары на главной странице отображаются в порядке соответствующему дате добавления товара. Т.е. покупатель всегда видит те же товары. Для того, чтобы при каждой перезагрузке страницы, отображать товары в случайном порядке из списка соответствующих товаров, нужно сделать такие нехитрые действия в файле view/View.php

Хиты продаж
После строки

Код: Выделить всё

public function get_featured_products_plugin($params, &$smarty) {

добавьте

Код: Выделить всё

        if(!isset($params['sort'])) {
            $params['sort'] = 'rand';
        }


Новинки

Код: Выделить всё

public function get_new_products_plugin($params, &$smarty) {

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

Акционные товары
После строки

Код: Выделить всё

public function get_discounted_products_plugin($params, &$smarty) {

добавьте такой же код

Код: Выделить всё

        if(!isset($params['sort'])) {
            $params['sort'] = 'rand';
        }
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS

Vadik
Vadik
Репутация: 1
Сообщения: 33
Зарегистрирован: 15.12.2016
С нами: 2 года 5 месяцев

Сообщение #2 Vadik » 02.12.2017, 01:38

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

korshunov
korshunov
Репутация: 99
Сообщения: 968
Зарегистрирован: 03.12.2015
С нами: 3 года 5 месяцев
Skype

Сообщение #3 korshunov » 02.12.2017, 08:49

Несколько заумный способ.

Проще всего лишь в шаблоне main.tpl поменять
{get_discounted_products var=discounted_products limit=4}
на
{get_discounted_products var=discounted_products limit=4 sort=rand}

Параметры в функции для того и придуманы, чтоб их простой пользователь задавал легко и просто, не влезая в программный код...

Добавлено спустя 5 минут:
Vadik писал(а):Здравствуйте. А можно как-то сделать, чтобы при первом заходе отображался мною выбранный товар (у меня в магазине отображаются только хиты продаж, которые собственно сам и выбирал), а уже в дальнейшем, после обновления, чтобы отображался случайным образом товар?

Можно, но несколько хлопотно. И надо задачу ставить, потому как реализовывать можно по разному. А если через неделю найдет еще, это как считать - "первый заход" или уже не первый? И как считать заходы - то ли только по главной странице, то ли по всем страницам сайта?

makki
makki
Репутация: 147
Сообщения: 418
Зарегистрирован: 12.08.2016
С нами: 2 года 9 месяцев
Откуда: Киев
Сайт Skype

Сообщение #4 makki » 02.12.2017, 18:40

korshunov писал(а):Проще всего лишь в шаблоне main.tpl поменять
{get_discounted_products var=discounted_products limit=4}
на
{get_discounted_products var=discounted_products limit=4 sort=rand}

Параметры в функции для того и придуманы, чтоб их простой пользователь задавал легко и просто, не влезая в программный код...
Спасибо!
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS

Vadik
Vadik
Репутация: 1
Сообщения: 33
Зарегистрирован: 15.12.2016
С нами: 2 года 5 месяцев

Сообщение #5 Vadik » 03.12.2017, 07:28

Понятно. Спасибо

pizhama
pizhama
Репутация: 0
Сообщения: 12
Зарегистрирован: 15.12.2018
С нами: 5 месяцев 11 дней

Сообщение #6 pizhama » 09.01.2019, 14:13

А как можно сделать вывод случайного товара на главной?

korshunov
korshunov
Репутация: 99
Сообщения: 968
Зарегистрирован: 03.12.2015
С нами: 3 года 5 месяцев
Skype

Сообщение #7 korshunov » 09.01.2019, 14:46

По аналогии, скажем, с выводом рекомендованных на главной. Изменять в двух местах - в шаблоне main.tpl и написать свою функцию в view/View.php.


Название раздела: Полезные решения для OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Полезные решения для OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость