Рейтинг клубам

 
Посетитель
small user social cms
Медаль
Сообщений: 395
Подскажите о механизме получения рейтинга клубами...
Как он начисляется?
Посетитель
small user social cms
Сообщений: 4
Поддерживаю вопрос с дополнением. Как поставить рейтинг клубов по численности пользователей, по общему рейтингу, вручную.
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3026
Где то встречал информацию, что рейтинг клуба составляется из рейтингов пользователей туда вступивших, но вот что то не пойму - рейтинг у членов клуба растет, а у клуба нет... Как был рейтинг клуба на момент вступления пользователей, так он и остался.
Посетитель
small user social cms
Медаль
Сообщений: 395
Volgomarket:
Как был рейтинг клуба на момент вступления пользователей, так он и остался.
Такая же проблема, люди спрашивают почему рейтинг не растет. Я говорю чтоб больше материала размещали. Вроде пишут и размещают, а рейтинг 0. Такое в одном клубе происходит, в других вроде нормально.
У меня правда версия 1.9. Может в 1.10 это и поправили. В общем я пока не понял есть ли ошибка и веду наблюдения :))
Посетитель
small user social cms
Сообщений: 35
Volgomarket:
Как был рейтинг клуба на момент вступления пользователей, так он и остался.
Та же история и у меня.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1074
он от рейтинга клубного блога не зависит?
я cделал тиц 20 за 300р в месяц / 15$ в день ничего не делая / почему контекст лучше тизеров
Модератор
small user social cms
МедальКубок зрительских симпатийПочетный донор проекта
Сообщений: 964
Рейтинг устанавливается в методе модели компонента клубов, строки 481-502. Вот коммент:
Код PHP:
  1. /**
  2.   * Устанавливает рейтинг клубу как сумму рейтингов его участников * 5
  3.   * @return bool
  4.   */
  5. public function setClubRating($club_id){
Метод соответственно вызывается при создании клуба, при вступлении участника в клуб и при выходе из клуба кого-либо. Это для версии 1.10
То есть получается, чтобы пересчитывался рейтинг клуба, нужно чтобы кто-либо из него выходил или вступал.
Редактировалось: 1 раз (Последний: 12 февраля 2013 в 00:23)
Хватит париться, живи как нравится!
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3026
Марат, Спасибо, хоть теперь более-менее понятно, хотя логически не совсем правильно, получается, что рейтинг клуба не зависит от активной жизни клуба, а зависит от того, кто туда вступил или "выступил" :)
Модератор
small user social cms
МедальКубок зрительских симпатийПочетный донор проекта
Сообщений: 964
Volgomarket:
получается, что рейтинг клуба не зависит от активной жизни клуба, а зависит от того, кто туда вступил или "выступил" :)
Получается, что так. Но можно легко исправить ситуацию. Для этого, в файле frontend.php в любом блоке, где есть строчки
Код PHP:
  1. $club = $model->getClub($id);
  2. if(!$club){ cmsCore::error404(); }
Нужно вставить сразу после этих строчек строку
Код PHP:
  1. // Пересчитываем рейтинг
  2. $model->setClubRating($club['id']);
Например можно вставить для блока if ($do=='club'){}. Тогда пересчет рейтинга будет производиться при каждом просмотре клуба.
Хватит париться, живи как нравится!
Посетитель
small user social cms
Медаль
Сообщений: 395
Спасибо, Марат. Я покопался в коде по вашей наводке, что было полезно.
Скажите, а добавление функции на пересчет рейтинга на нагрузке сильно скажется? Может добавить этот пересчет при добавлении материала? Эти действия происходят чаще чем вход/выход пользователя и реже просмотра клуба.
Конечно оптимально поставить все это на крон, мне так кажется. Чтоб баланс соблюсти
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1074
Марат, а сделать рейтинг зависимым от рейтинга материалов клуба сложно? рейтинг в зависимости от рейтинга участников - несколько не логично.
я cделал тиц 20 за 300р в месяц / 15$ в день ничего не делая / почему контекст лучше тизеров
Посетитель
small user social cms
Медаль
Сообщений: 395
picaboo:
рейтинг в зависимости от рейтинга участников - несколько не логично.
Я тож задумывался над этим вопросом - зашло пару чел с высоким рейтингом в пустой клуб и он тут же стал круче (по рейтингу), не правильно как-то это. Конечно и от человека рейтинг должен зависеть, но и от материалов размещенных в клубе. Как-то так
Модератор
small user social cms
МедальКубок зрительских симпатийПочетный донор проекта
Сообщений: 964
Роман:
Конечно оптимально поставить все это на крон, мне так кажется. Чтоб баланс соблюсти
Вот для cron. Вставляем в конец файла модели клубов, перед последней закрывающей скобкой }
Код PHP:
  1.  
  2. public function setClubsRatingCron(){
  3. $sql = "SELECT id
  4. FROM `cms_clubs`
  5. WHERE published = 1
  6. LIMIT 100";
  7.  
  8. $result = $this->inDB->query($sql);
  9. if(!$this->inDB->num_rows($result)){ return true; }
  10. while($club = $this->inDB->fetch_assoc($result)){
  11. $this->setClubRating($club['id']);
  12. }
  13. return true;
  14. }
  15.  
Далее в админке создаем новую задачу cron. Указываем компонент clubs и метод модели setClubsRatingCron. Остальные пункты на ваше усмотрение. Будет персчитывать рейтинги клубов.
picaboo, можно сделать так, чтобы не был привязан к рейтингу пользователей. Придется всего лишь изменить один метод модели клубов. Но, нужно выработать алгоритм. Отчего будет зависеть рейтинг? Главное понять задачу. А сделать не сложно.
Хватит париться, живи как нравится!
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1074
Марат, рейтинг записей блога клуба+рейтинг фотоальбомов клуба складывать?
я cделал тиц 20 за 300р в месяц / 15$ в день ничего не делая / почему контекст лучше тизеров
Модератор
small user social cms
МедальКубок зрительских симпатийПочетный донор проекта
Сообщений: 964
picaboo, можно сделать. Ближе к ночи постараюсь выложить. Немного доделаю кое-какие дела. А рейтинг самого блога нужно учитывать или только записей? И коэффициент нужен? То есть сумму умножать на 5?
Хватит париться, живи как нравится!
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.