Изменение системы рейтинга для блогов
Заметил, что за блог редко, кто голосует. Голосуют в основном за топики. Вкратце идея такова: рейтинг от топиков отдавать блогу, тоесть автоматически блог с самыми хорошими топиками будет иметь высокий рейтинг.
upd
Как оказалось хак для работы такой системы уже есть! Продублировал из этого поста.
Открываем /classes/modules/rating/Rating.class.php
и заменяем:
на:
Проголосовав за топик, к рейтингу блога пойдёт 0,05 рейтинга.
upd
Как оказалось хак для работы такой системы уже есть! Продублировал из этого поста.
Открываем /classes/modules/rating/Rating.class.php
и заменяем:
/**
* Сохраняем силу и рейтинг
*/
$oUserTopic=$this->User_GetUserById($oTopic->getUserId());
$iSkillNew=$oUserTopic->getSkill()+$iValue*$iDelta;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$oUserTopic->setSkill($iSkillNew);
$oUserTopic->setRating($oUserTopic->getRating()+$iValue*$iDelta/2.73);
$this->User_Update($oUserTopic);
return $iDeltaRating;
на:
/**
* Сохраняем силу и рейтинг
*/
$oUserTopic=$this->User_GetUserById($oTopic->getUserId());
$iSkillNew=$oUserTopic->getSkill()+$iValue*$iDelta;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$oUserTopic->setSkill($iSkillNew);
$oUserTopic->setRating($oUserTopic->getRating()+$iValue*$iDelta/2.73);
$this->User_Update($oUserTopic);
$oBlog=$this->Blog_GetBlogById($oTopic->getBlogId());
$oBlog->setRating($oBlog->getRating()+$iValue*$iDelta/2.73);
$this->Blog_UpdateBlog($oBlog);
return $iDeltaRating;
Проголосовав за топик, к рейтингу блога пойдёт 0,05 рейтинга.
21 комментарий
берете файл \include\ajax\voteTopic.php и допасываете в него кусок кода из \include\ajax\voteBlog.php, можно немного изменить расчет голоса
в \include\ajax\voteTopic.php после кода
добавить
и советую расчет рейтинга в строчке
придумать свой.
ну и не идеальный вариант не претендую
Спасибище за код.
а не лучше было сделать все голосования за топики в данном блоге(т.е что выше сделали), деленные на кол-во топиков в этом блоге. т.е средний бал за топик.
тогда даже самый новый блог способен конкурировать со старым