Перейти к содержимому


Блок "С эти товаром также смотрели..."


  • Вы не можете ответить в тему
Сообщений в теме: 2

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 10 May 2018 - 02:52 PM

Простенькое дополнение, которое делает две вещи:
1. Собирает статистику по просмотрам товаров. Если в рамках одной сессии были заходы на страницы двух и более товаров (т.е. можно сказать, что "с этим товаром также смотрели и вот те товары"), то информация сохраняется в таблицу в виде sessionID-productID.
2. После некоторого накопления данных можно для каждого товара получить список товаров, которые клиенты просматривали вместе с ним (в одной сессии). И сколько было таких просмотров. Можно показывать, скажем, первые пять товаров, которые с текущим товаром просматривали чаще всего.

Установка:

1. копируем файлы:
addon.php -> /core/includes/admin/
looked_products.php -> /core/includes/
looked_products.tpl.html -> /core/tpl/user/[шаблон]/blocks/

2. looked_products.tpl.html подключаем как боковой блок. Логично это сделать через неделю-две после выполнения п.1, чтобы набралась какая-то стаистика. Либо сначала подключить как "показывать только админам".

код looked_products.tpl.html примитивнейший, без картинок товара и прочей красивости. Только название товара, ссылка и количество просмотров.

Прикрепленные файлы


  • 2
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 Den

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 117 сообщений
Репутация: 0
Начинающий

Отправлено 25 May 2018 - 12:23 PM

Скопировал addon.php и looked_products.php, таблица создалась. Подождал пару часов, полазил сам по сайту, но таблица так и осталась пустой. Он так неспешно работает или что-то не так?) Блок пока не устанавливал, может дело в нем?

Дело в HTTPS. В looked_products.php в этой строчке нужно поправить http:// на https:// , кто его использует:
	elseif ($productID != $_SESSION['first_productID'] && !empty($_SERVER['HTTP_REFERER']) && stripos($_SERVER['HTTP_REFERER'],"http://".$_SERVER['SERVER_NAME']) === 0)

badisoft, спасибо за модуль! Подскажите, не вносят ли разнообразные боты больших помех в статистику, может их как-то не учитывать?
  • 0

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 25 May 2018 - 01:50 PM

Подскажите, не вносят ли разнообразные боты больших помех в статистику, может их как-то не учитывать?

А они и не учитываются.
Модуль запоминает (но не сохраняет в таблицу!) первый товар в сессии.
И только если в той же сессии совершен заход на второй товар, то сохраняется первый и второй товар (и дальнейшие товары).
На всякий случай проверяется еще и реферер на "не первом" товаре, чтобы он был с того же сайта, но это уже в какой-то мере паранойя.
У меня в логах нет ни одного бота, который бы заходил сначала на один товар, а потом в той же сессии и с реферером - на другой.
Как я понимаю, у ботов каждый заход на страницу это новая сессия.
Исключение - боты-постеры. У них первый заход это GET-запрос страницы с формой, а второй - GET или POST-запрос с отсылкой данных.
Но они тоже пролетают.

Вдогонку. В таблице есть не испольуемое поле реферер. Оно для отладки и понимания. Если посмотреть выборку по запросу
select * from XXXX_looked_products order by sessionID,referer;
то получится что-то типа
+----------------------------+-----------+--------------------------------------------+
| sessionID				  | productID | referer								    |
+----------------------------+-----------+--------------------------------------------+
| 32r17m4ckqfhcvnn5noql3af03 |		 6 | NULL									   |
| 32r17m4ckqfhcvnn5noql3af03 |	    37 | http://badisoft.ru/shopcms/all/		    |
| 32r17m4ckqfhcvnn5noql3af03 |	    40 | http://badisoft.ru/shopcms/all/		    |
| 3mte7749sttlm2k6vojgbccd63 |		 3 | NULL									   |
| 3mte7749sttlm2k6vojgbccd63 |		 6 | http://badisoft.ru/index.php?searchstring= |
| 3mte7749sttlm2k6vojgbccd63 |	    36 | http://badisoft.ru/shopcms/addons/all/	 |
| 3mte7749sttlm2k6vojgbccd63 |	    32 | http://badisoft.ru/shopcms/all/		    |
| 3soqnrfgbdmj58ft90uuu60ua3 |	    42 | NULL									   |
| 3soqnrfgbdmj58ft90uuu60ua3 |	    37 | http://badisoft.ru/index.php			   |
| 66kn92luqrpajjjmp8s0q8j9q7 |	    37 | NULL									   |
| 66kn92luqrpajjjmp8s0q8j9q7 |		 2 | http://badisoft.ru/shopcms/blocks/		 |
| 6j0a6e2dtgcnkctou9bkmg17m6 |		 6 | NULL									   |
| 6j0a6e2dtgcnkctou9bkmg17m6 |	    36 | http://badisoft.ru/shopcms/addons/		 |
| b84cbqjnd1kdpp58tjr2ehap51 |	    24 | NULL									   |
| b84cbqjnd1kdpp58tjr2ehap51 |	    20 | http://badisoft.ru/shopcms/			    |
| b84cbqjnd1kdpp58tjr2ehap51 |	    37 | http://badisoft.ru/shopcms/addons/		 |
| b84cbqjnd1kdpp58tjr2ehap51 |	    42 | http://badisoft.ru/shopcms/addons/		 |
| g9m1ras5g5jsuvmog4hctr6327 |	    21 | NULL									   |
| g9m1ras5g5jsuvmog4hctr6327 |		 7 | http://badisoft.ru/					    |
| p7lt0i77rnuq9ck0tk381du783 |	    44 | NULL									   |
| p7lt0i77rnuq9ck0tk381du783 |	    27 | http://badisoft.ru/shopcms/all/		    |
| p7lt0i77rnuq9ck0tk381du783 |		 2 | http://badisoft.ru/shopcms/blocks/		 |
| r74qd7dsii43etuvqruhqjl5s1 |	    45 | NULL									   |
| r74qd7dsii43etuvqruhqjl5s1 |	    31 | http://badisoft.ru/shopcms/modules/	    |
В этой выборке хорошо виден процесс хождения по товарам.
NULL - это первый товар.
А остальное - рефереры, откуда был переход к второму, третьему и остальным товарам.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)