Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Случайный товар в Рекомендуемых, Последних и прочее


romign

Recommended Posts

Добрый день.

Я использую стандартные модули Рекомендованных товаров, Последних добавленных, Специальных предложений. Эти модули у меня выводятся под каждой карточкой товара. Так вот я заметил, что постоянно выводится один и тот же список товаров, что, как мне кажется, не совсем правильно. Поскольку, если в модуле Рекомендованные у меня добавлено 10 товаров, а при выводе выводится всего 2 позиции, то последние 8 не покажутся никогда. Да и посетителю немного неприятно постоянно смотреть на одни и те же картинки товаров.

В связи с этим вопрос:

Я что-то где-то не доглядел в использовании модуля, что у меня показываются только первые товары, а не случайные или это такая особенность?

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

Надіслати
Поділитися на інших сайтах


Это я смотрел, спасибо, понял что придется самому дорабатывать кеширование случайных товаров, да и вывод рекомендуемых.

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

Надіслати
Поділитися на інших сайтах


Ну без кеширования тоже не айс, не хочется лишний раз дергать базу.

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

Надіслати
Поділитися на інших сайтах


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

Попробуй эту задачу решить не рекомендованными товарами, а связанными...
Надіслати
Поділитися на інших сайтах

Попробуй эту задачу решить не рекомендованными товарами, а связанными...

Думал уже об этом. Но получается не совсем верно. Если связные товары, это именно товары похожие или использующиеся с данным, то рекомендуемые — могут быть абсолютно не в теме текущего товара, а именно там должны выводиться товары-бестселлеры или которые надо просто поскорее продать :). А уж как делать с последними добавленными товарами, не понятно, их уже в связь не добавишь.
Надіслати
Поділитися на інших сайтах


  • 1 year later...

Только что решил этот вопрос одной малюсенькой строчкой))
Все элементарно)
В catalog/controller/module/featured.php в 21 строке перед

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем замечательную функцию перемешивания массива в случайном порядке  :-)

shuffle ($products);

Вуаля! Теперь, если у вас задано хоть 20 товаров в рекомендуемые, а выводится лишь 3 - то каждый раз они будут разные и постепенно обязательно покажутся все.

Еще можно подумать над тем, чтобы сделать в модулях акционных, рекомендуемых товаров "карусель", чтобы можно было прокручивать например 10 товаров, при отображаемых 3-4.

  • +1 5
Надіслати
Поділитися на інших сайтах


Только что решил этот вопрос одной малюсенькой строчкой))

Все элементарно)

В catalog/controller/module/featured.php в 21 строке перед

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем замечательную функцию перемешивания массива в случайном порядке  :-)

shuffle ($products);

Вуаля! Теперь, если у вас задано хоть 20 товаров в рекомендуемые, а выводится лишь 3 - то каждый раз они будут разные и постепенно обязательно покажутся все.

Еще можно подумать над тем, чтобы сделать в модулях акционных, рекомендуемых товаров "карусель", чтобы можно было прокручивать например 10 товаров, при отображаемых 3-4.

Всё гениальное просто ;) Применил. 

+

Надіслати
Поділитися на інших сайтах


Только что решил этот вопрос одной малюсенькой строчкой))

Все элементарно)

В catalog/controller/module/featured.php в 21 строке перед

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем замечательную функцию перемешивания массива в случайном порядке  :-)

shuffle ($products);

Вуаля! Теперь, если у вас задано хоть 20 товаров в рекомендуемые, а выводится лишь 3 - то каждый раз они будут разные и постепенно обязательно покажутся все.

Еще можно подумать над тем, чтобы сделать в модулях акционных, рекомендуемых товаров "карусель", чтобы можно было прокручивать например 10 товаров, при отображаемых 3-4.

+1 

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
  • 2 years later...

 

Только что решил этот вопрос одной малюсенькой строчкой))

Все элементарно)

В catalog/controller/module/featured.php в 21 строке перед

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем замечательную функцию перемешивания массива в случайном порядке  :-)

shuffle ($products);

Вуаля! Теперь, если у вас задано хоть 20 товаров в рекомендуемые, а выводится лишь 3 - то каждый раз они будут разные и постепенно обязательно покажутся все.

Еще можно подумать над тем, чтобы сделать в модулях акционных, рекомендуемых товаров "карусель", чтобы можно было прокручивать например 10 товаров, при отображаемых 3-4.

 

 

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

Вот, верное решение:

нужно вставить

shuffle ($setting['product']);

перед

$products = array_slice($setting['product'], 0, (int)$setting['limit']);
Змінено користувачем korya
Надіслати
Поділитися на інших сайтах


 

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

 

Не будут. Потому что excalibur предложил

shuffle ($products);
$products = array_slice($products, 0, (int)$setting['limit']);

Читайте внимательней

Надіслати
Поділитися на інших сайтах


  • 1 year later...

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

shuffle ($setting['product']);

или

shuffle ($products);

на версии 2.3.0.2

Змінено користувачем VpsK
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.