Добавляем количество просмотров топику
Многие хотели, но не знали как доковырять, показываю на простом примере.
Открываем файл Topic.class.php
И добавляем перед закрытием класса функцию
функцию по делу надо назвать по другому, т.к. она просто обновляет топик, без дополнительных операций (таги, дата изменения и т.п.)
Теперь открываем ActionBlog.class.php, и в функции EventShowTopic ищем «Выставляем SEO данные»
и перед вставляем
теперь количество просмотров будет считаться, для коллективных блогов, чтобы считалось для персональных надо теже действия сделать в функции EventShowTopicPersonal.
Нужно добавить в шаблоны отображение вывод количества просмотров.
Делаем на примере topic.tpl
Ищем
после добавляем строку
И теперь при заходе в топик будет отображаться количество просмотров.
P.S> Возможно что то упустил, дополняем, не стесняемся =)
Открываем файл Topic.class.php
И добавляем перед закрытием класса функцию
/**
* Обновляем топик без всяких примочек
*
* @param TopicEntity_Topic $oTopic
* @return unknown
*/
//
public function SetTopicCountRead(TopicEntity_Topic $oTopic) {
$this->oMapperTopic->UpdateTopic($oTopic);
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('topic_update',"topic_update_{$oTopic->getId()}"));
}
функцию по делу надо назвать по другому, т.к. она просто обновляет топик, без дополнительных операций (таги, дата изменения и т.п.)
Теперь открываем ActionBlog.class.php, и в функции EventShowTopic ищем «Выставляем SEO данные»
/**
* Выставляем SEO данные
*/
и перед вставляем
/**
* Ставим количество прочтенных топиков.
*/
$iCountRead = $oTopic->getCountRead();
$oTopic->setCountRead($iCountRead+1);
$this->Topic_SetTopicCountRead($oTopic);
теперь количество просмотров будет считаться, для коллективных блогов, чтобы считалось для персональных надо теже действия сделать в функции EventShowTopicPersonal.
Нужно добавить в шаблоны отображение вывод количества просмотров.
Делаем на примере topic.tpl
Ищем
<li class="author"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTopic->getUserLogin()}/">{$oTopic->getUserLogin()}</a></li>
после добавляем строку
<li class="total">Просмотров: {$oTopic->getCountRead()}</li>
И теперь при заходе в топик будет отображаться количество просмотров.
P.S> Возможно что то упустил, дополняем, не стесняемся =)
66 комментариев
и счетчик никак не обновляеться, как бы я не заходил, и жал F5
И цвет соотвествующий, гость видит — серый цвет Просмоторов: 5
а зарегистрированный пользователь видит Просмотров: 5 — зеленого цвета ил красного если топик заминусован.
Но самое обидное, что при голосовании — количество просмоторов исчезает и появляется рейтинг. Это насколько я понимаю только у пользователя, который сам проголосовал и он лишается возможности посмотреть Просмотры, вместо этого н видит рейтинг. Решается путем обновления страницы или повторного захода.
2. Как можно сделать доступным только после Голосования за топик?
Было бы просто умопомрачительно круто!
спасибо
в чем может быть дело? пробую на локалке
Надо внимательней смотреть для какой функции делаешь
Я тоже сначала пропустил.
Сама ошибка
Открываем файл /classes/hooks/HookStatisticsPerformance.class.php
После
Добавляем
Далее, после
Добавляем
В шаблоне добавляем в topic.tpl или в topic_list.tpl
Данные записываются в ls_topic в topic_count_read
Но сегодня обновился ls 1.01 и парсер ругнувшись на функцию $ oTopic отказался загружать весь сайт…
Кто может помочь моему горю?
По любому решение проблемы на поверхности…
Единственное, тут ни где не учитывается посещение сайта поисковыми машинами, но, в принципе, этим можно пренебречь при большом количестве посещений :)
А почему не в официальном сайте среди других полезных плагинов?
Хотя вопрос риторический, от этого я менее благодарным не стал ;)
p/s/ Мог бы плюсануть наплусал сколько смог бы.
а как такое можно реализовать?