Как обратиться к $oBlog из функции голосования за топик?

Нужно, чтобы изменялся рейтинг коллективного блога при голосовании за топик соответствующего блога. Версия LS 0.3.1

Я иду в classes/modules/rating/rating.class.php. Там есть две функции:

Голосование за топик
public function VoteTopic(UserEntity_User $oUser, TopicEntity_Topic $oTopic, $iValue) {


Голосование за блог
public function VoteBlog(UserEntity_User $oUser, BlogEntity_Blog $oBlog, $iValue) {
...
$oBlog->setRating($oBlog->getRating()+ХХХХХ);


Препопложим, вот эту строчку обновления рейтинга коллективного блога мне надо перекинуть в функцию голсования за топик. Проверку на тип блога пока опускаю. Я перекидываю строку, добавляю переменную в функцию. И получаю:

public function VoteTopic(UserEntity_User $oUser, TopicEntity_Topic $oTopic, $iValue, BlogEntity_Blog $oBlog) {

...

$oBlog->setRating($oBlog->getRating()+ХХХХХ);


Результат при попытке голосования «Error please try later again»
Пробовал обращаться так же через TopicEntity_Topic $oBlog (что, наверное, правильнее), но результат тот же.

Ранее, когда я, например, выводил новые параметры на странице топиков, то вносил правки в Topic.entity.class.php. Но сейчас не могу понять, что именно надо добавить. В маппер топиков пробовал добавлять функцию getBlogs, но этого или мало или подход неправильный.

Кто-нибудь может помочь решить задачу? Спасибо.

7 комментариев

avatar
Добавлять в VoteTopic
BlogEntity_Blog $oBlog
не нужно, достаточно получить $oBlog уже внутри метода VoteTopic, ID блога содержится в $oTopic->getBlogId()
  • ort
  • 0
avatar
Спасибо! Буду пробовать
avatar
Таки не могу понять, как обратиться к $oBlog ((( Нужно, чтобы в методе VoteTopic файла rating.class.php заработала строка из метода VoteBlog
$oBlog->setRating($oBlog->getRating()+ХХХХХ);

За два с половиной часа никак не смог продвинуться
avatar
Эмммм… сделал так:

$oBlog=$this->Blog_GetBlogById($oTopic->getBlogId());
$oBlog->setRating($oBlog->getRating()+1);

Теперь ошибка голосования не выходит. За топик голос отдается. Однако к рейтингу коллективного блога единица не прибавляется.
avatar
нужно добавить
$this->Blog_UpdateBlog($oBlog);
avatar
Вы забыли вызвать
$this->Blog_UpdateBlog($oBlog);

чтобы сохранить результат.
avatar
О! ort и gran благодарю! Заработало! Жизнь прекрасна!
зы: плюсиков наставить пока силенок нет, но кармические плюсы пошли в вашу сторону ;)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.