Как сделать чтобы рейтинг за добавленные пользователем элементы был как бы рейтингом пользователя. Как допустим одно из его свойств, и чтобы можно было вывести топ пользователей по рейтингу и тд?
23.06.2010 13:09:32
Как вариант - использовать множественную привязку к пользователю, количество привязанных пользователей и будет рейтингом. Но тогда сложнее будет считать общий рейтинг, для этого надо будет получать общее количество всех пользователей, связанных с элементами, которые добавил нужный пользователь
Экс-битриксоид.
Компонент (и.с.) - существительное мужского рода (ГОСТ 34.003-90). |
|
|
|
23.06.2010 13:29:15
|
|||
|
|
23.06.2010 14:47:05
а почему не сделать все проще?
2. цепляете на событие добавления элемента изменение этого свойства у пользователя (например увеличиваете на 1) 3. при помощи CUSER::GetList с сортировкой по данному пользовательскому свойству получаете рейтинг. |
|||
|
|
23.06.2010 15:55:08
При таком подходе можно делать рейтинг пользователей, но нельзя будет получить рейтинг отдельной статьи, или делать для нее отдельное свойство рейтинга, а хранить два разных несвязанных рейтинга (элемента и юзера) как-то не совсем хорошо, нарушается целостность данных. К примеру, модератор изменит в админке вручную рейтинг статьи, но это не отразится на рейтинеге автора. Придется писать дополнительные триггеры. Это все неоправданно усложнит проект. Может, проще и эффективнее написать свой механизм со своей табличкой и кешем?
Экс-битриксоид.
Компонент (и.с.) - существительное мужского рода (ГОСТ 34.003-90). |
|
|
|
23.06.2010 16:09:16
Дмитрий Якинцев,
У меня ещё вопрос по iblock.vote. Как сделать чтобы голосовать можно было бесконечно кол-во раз, а колличество квадратиков для голосования было 1? Т.к я попробовал сделать максимальное кол-во голосов 10000 и все, белая страница. Не понятно что так грузит. |
|
|
|
23.06.2010 19:52:50
можно реализовать и такой и такой рейтинги
все будет зависеть от вашего кода. и вообще, не надо усложнять задачу Если требуется объективное голосование - лучше сделать свои механизмы, но это потребует доп. усилий что же касается моего предложения: при обработке события изменения элемента или свойства - ставим код обработки рейтинга для пользователя и никаких проблем еще проще - кастомизировать компонент голосования и вставить обработку голоса там. так как мы знаем ID создавшего пользователя, то изменить пользовательское свойство, отвечающее за рейтинг - проще простого |
|||||
|
|
23.06.2010 19:54:50
а уж как вы будете считать рейтинг:
за добавленные статьи или за голоса к статьям - не имеет значения суть примерно одна на одном из проектов у меня рейтинг пользователей считается даже в разрезе инфоблоков как оказалось - задача на полчаса |
||||
|
|
|||