Какой рейтинг товаров использовать?
Добрый день, посоветуйте, какой рейтинг товаров используете на сайте магазинов?
Из хотелок:
1) Работа с товарами в собственных таблицах. Те. нужно, чтобы все можно было оценивать.
2) Работа через Ajax, как вывод, так и голосование
3) Оптимальный расчет ретинга. Чтобы не тупил при большом количестве товаров.
Что пробовал:
— CSS Star rating — всем хорош, но нет Ajax.
— LexRating — есть аjax, хранит таблицу с IP — не уверен, что это правильное решение.
И насколько понял для расчета рейтинга тянет все оценки и внутри считает среднее(!), вместо того, чтобы хранить среднее и перезаписывать его при оценке. Т.е. если такой снипет, поместить в вызов getResources должно тормозить невероятно (теория, хотел бы знать как на практике)
Другого нет вроде бы ничего.
Из хотелок:
1) Работа с товарами в собственных таблицах. Те. нужно, чтобы все можно было оценивать.
2) Работа через Ajax, как вывод, так и голосование
3) Оптимальный расчет ретинга. Чтобы не тупил при большом количестве товаров.
Что пробовал:
— CSS Star rating — всем хорош, но нет Ajax.
— LexRating — есть аjax, хранит таблицу с IP — не уверен, что это правильное решение.
И насколько понял для расчета рейтинга тянет все оценки и внутри считает среднее(!), вместо того, чтобы хранить среднее и перезаписывать его при оценке. Т.е. если такой снипет, поместить в вызов getResources должно тормозить невероятно (теория, хотел бы знать как на практике)
Другого нет вроде бы ничего.
Комментарии: 17
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Или я что-то не так понял и можно только частями устанавливать?
И еще:
Это единственный способ расчета правильного среднего. Иначе как считать среднее при новой оценке? Как среднее между старой усредненной из тысячи и единственной новой? Представьте с точки зрения математики такой подход и увидите, что он всегда будет давать неправильные результаты.
Что касается среднего рейтинга, вы не поняли моей логики. Я предлагаю считать рейтинг в момент постановки оценки, а не в момент, когда нужно показать оценку товара.
Ставит человек оценку, идет сложный процесс — вытягиваются все предыдущие оценки, рассчитывается среднее, записывается в базу. Но это разовые операции, оценки реже ставятся чем тянется значения рейтинга.
Но как быть с магазином, где товары постоянно обновляются? Например, удалился у меня товар, как отследить, чтобы и соответствующая ветка комментариев удалялась? Есть какая-то автоматическая чистка?
Если у вас свои таблицы для товаров используются, то вам все равно придется сообщения привязать к некому ресурсу, например он может называется «Отзывы». У этого ресурса будет много цепочек, тогда чистить их нужно будет самостоятельно, небольшой плагинчик написать, в принципе ничего сложного.
Вопрос с вызовом сниппета внутри getResources решается путем leftJoin'a нужных таблиц.
Ну, каких-то недоделанных фич ждать не приходится (то же голосование анонимами). Но для системы рейтингов у ресурсов лично мне его хватает.)
Если вас интересует, как именно реализовать это в связке с getProducts/другим сниппетом, не поддерживающим возможность присоединения таблиц, то потребуется отредактировать сниппет voteforms и при изменении рейтинга дублировать необходимое вам значение в тв-поле ресурса.
В противном случае — сниппет внутри сниппета, но это так себе вариант: лучше перейти на pdoTools.