Обновление модуля "Вы смотрели" для InstantShop UTF-8

+41
2.22K
Обновление модуля "Вы смотрели" для InstantShop UTF-8.
Иллюстрация


Скачать модуль можно по ссылке тут

Что нового:
— перевод на UTF-8 кодировку;
— опция "показывать товар с картинками" или просто названия;
— опция "скрывать модуль если нет товаров.

Инструкция по установке:
1. Содержимое архива закинуть в папку с установленной системой.
2. В админке установить новый модуль.
3. В файл /components/shop/frontend.php добавить действие, для примера перед кодом if ($do=='view'){.....:
  1. // Очистка списка просматриваемых товаров
  2. //
  3. if ($do=='clearlist'){
  4.  
  5. if ($inUser->id){
  6. $sql = "DELETE FROM cms_shop_items_view WHERE user_id = ".$inUser->id;
  7. } else {
  8. $s_id = session_id();
  9. $sql = "DELETE FROM cms_shop_items_view WHERE sess_id = '".$s_id."'";
  10. }
  11.  
  12. $inDB->query($sql);
  13. $inCore->redirectBack();
  14. }
4. В этом же файле ищем if ($do=='item'){...., ниже после получения итема, после строк
  1. //если товар не найден - ошибка
  2. if (!$item) { cmsCore::error404(); }
добавляем блок кода:
  1. //
  2. // сбор статистики просмотра товаров
  3. //
  4. $item_id = $item['id'];
  5. if ($inUser->id){
  6. $user_id =$inUser->id;
  7. $sql = "SELECT * FROM cms_shop_items_view WHERE user_id=".$user_id." AND item_id=".$item_id;
  8. $sql1 = "INSERT INTO cms_shop_items_view (`user_id`, `item_id`, `date`) VALUES ('{$user_id}', '{$item_id}', NOW())";
  9. } else {
  10. $user_id = 0;
  11. $s_id = session_id();
  12. $sql = "SELECT * FROM cms_shop_items_view WHERE sess_id='".$s_id."' AND item_id=".$item_id;
  13. $sql1 = "INSERT INTO cms_shop_items_view (`user_id`, `item_id`, `date`, `sess_id`) VALUES ('{$user_id}', '{$item_id}', NOW(), '{$s_id}')";
  14. }
  15.  
  16. $inDB->query("DELETE FROM `cms_shop_items_view` WHERE `date` < CURRENT_DATE - INTERVAL 1 DAY");
  17. $resultm = $inDB->query($sql);
  18. if ($inDB->num_rows($resultm)<1){
  19. $inDB->query($sql1);
  20. }
5. Открываем файл /cmponents/shop/router.php и вставляем туда код:
  1. $routes[] = array(
  2. '_uri' => '/^shop\/clearlist.html$/i',
  3. 'do' => 'clearlist'
  4. );
Важно! Данную секцию ставим перед всеми остальными, иначе не будет работать очистка списка просмотренных товаров.
+11
Madmax Madmax 11 лет назад #
Полезный модуль однозначно - спасибо!
+3
Алексей Алексей 11 лет назад #
спасибо! Действительно полезный модуль)
0
Malstein Malstein 11 лет назад #
кто поставил можете дать посмотреть??
0
Дайвер74 Дайвер74 11 лет назад #
Спасибо за модуль!
Хотел узнать, как ограничить количество просмотренных товаров? Хотя в какой части кода искать?
+1
Yurik Yurik 11 лет назад #
В теле модуля есть код
Код PHP:
  1. if ($inUser->id) {
  2. $sql = "SELECT * FROM cms_shop_items_view WHERE user_id=".$inUser->id;
  3. } else {
  4. $s_id = session_id();
  5. $sql = "SELECT * FROM cms_shop_items_view WHERE sess_id='".$s_id."'";
  6. }
К запросам нужно дописать LIMIT, для примера на 1 строчку
$sql = "SELECT * FROM cms_shop_items_view WHERE user_id=".$inUser->id." LIMIT 10";
и на 2
$sql = "SELECT * FROM cms_shop_items_view WHERE sess_id='".$s_id."' LIMIT 10";
Это для лимита в 10 итемов
0
Дайвер74 Дайвер74 11 лет назад #
Спасибо огромное за помощь! Модулем очень доволен.
0
Maxim Maxim 11 лет назад #
Модуль бесспорно хорош и очень нужен, а можно попросить помочь разобраться, в вопросе, если не загружено фото к товару, то выводило бы заглушку картинку уменьшенную стандартную из компонента и попробовал ограничил вывод 5 товарами, из примера выше, то после просмотра 6 товара, запись не заменяется, а так 5 предидущих и показывается. Спасибо.
0
Дайвер74 Дайвер74 11 лет назад #
На счет фото - не проверял, а при LIMIT 10 - показывает 10 последних товаров... Делал все по инструкции. Вот пример работы модуля http://konadshop.ru/shop/diski-dlja-stempinga-konad
0
Dorimen Dorimen 11 лет назад #
А есть версия для InstantMS 1.9 не UTF-8?
0
Дайвер74 Дайвер74 11 лет назад #
Да, есть http://instantcms.ru/blogs/esli-delat-nechego/modul-vy-smotreli-dlja-instantshop.html А так же можно данное обновление перекодировать и приспособить для 1.9.
0
Петр Петр 11 лет назад #
а есть ли подобное для УК?

Еще от автора

Компонент "Голосования" для второй ветки.
Простой компонент для организации голосований на сайте. В комплекте: сам компонент и виджет для вывода.
Простой 3-колоночный шаблон для 2 ветки
Простой шаблон для 2 ветки.
Новый тип поля "Место на карте" для 2 ветки
Добавляем новый тип поля для контента во второй ветке
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.