Плагин «Просмотры» (обновление 16.11.2015)

Описание

Плагин осуществляет подсчет количества просмотров топиков и позволяет сортировать топики по числу просмотров на страницах "/index", "/blog", "/personal_blog" и для каждого из блогов в отдельности. Поддерживается фильтрация по дате.

Плагин анализирует статистику просмотров 2 видов:
  1. Простая статистика по общему числу просмотров.
  2. Расширенная статистика — использует данные, собранные плагином «ViewStat». Данный режим активизируется автоматически при активном плагине «ViewStat». В данном режиме фильтрация может быть как по времени создания топиков, так и только по просматриваемым за выбранное время.

Совместим с шаблонами:
— Synio;
— Mobile;
— VK Flat Style.

Не совместим с плагином «ViewCount».

Для повышение производительности, по совету PSNet , хранение статистики осуществляется в отдельной таблице.

GitHub: github.com/wasja1982/livestreet_views

Внешний вид


Число просмотров топика


Сортировка по числу просмотров

Настройка

Настройка плагина осуществляется редактированием файла "/plugins/views/config/config.php".

Поддерживаемые директивы:
1) $config['only_users'] — Считать просмотры только от авторизованных пользователей. По умолчанию отключено (false).

2) $config['only_once'] — Считать только первый просмотр топика пользователем (в пределах сессии). По умолчанию включено (true).

3) $config['use_sort'] — Использовать сортировку топиков по числу просмотров. По умолчанию включено (true).

4) $config['stat_date_filter'] — Отображаются только топики, которые просматривались в выбранный период, независимо от времени их создания. Использует данные плагина Viewstat (должен быть установлен). По умолчанию отключено (false).

5) $config['show_info'] — Показывать число просмотров в панели информации топика. По умолчанию включено (true).

Установка

1. Скопировать плагин в каталог /plugins/
2. Через панель управления плагинами (/admin/plugins/) запустить его активацию.

Изменения

1.0.2 (16.11.2015)
Добавлено игнорирование просмотра топиков поисковыми роботами.
Добавлена поддержка шаблона «VK Flat Style».

1.0.1 (29.05.2014)
Добавлен индекс для поля `topic_count_read` в таблице БД.
Добавлено фиксированное сообщение об ошибке.
Добавлен отдельный файл иконки.
Добавлены параметры конфигурации:
— $config['only_users'] — Считать просмотры только от авторизованных пользователей.
— $config['only_once'] — Считать только первый просмотр топика пользователем (в пределах сессии).

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

avatar
Наконец-то нормальное решение!
avatar
Для повышение производительности, по совету PSNet , хранение статистики осуществляется в отдельной таблице.

Если не секрет, можно на пальцах пояснить, будет ли прирост производительности, если данные о посещениях все равно надо вынимать. И та доп таблица будет джоиниться в каждом запросе. Разве что она не будет участвовать в выборке ключей топиков по фильтру (если не участвует в сортировке)?
avatar
Если не секрет, можно на пальцах пояснить
Касательно к-ва просмотров я уже много раз рассказывал об этом. Вы меня заставили пролистать 26 страниц комментариев, но я так и не нашел нужный, раньше он был здесь livestreet.ru/blog/addons/16598.html#comment267819

Если коротко: суть не в получении данных, а в том что таблица топиков постоянно апдейтилась обновлением счетчика, сбрасывался кеш каждого просматриваемого топика и списка топиков в целом — и это абсолютно постоянно!.. Вызывались по хукам привязанные события плагинов на обновления топика. Все это входило в большой и очень тяжелый цикл и сайт очень нагружался.
avatar
Цитата из упоминаемого выше комментария за авторством PSNet:
сейчас постоянно (!) апдейтиться таблица топиков с постоянным сбросом кеша каждого просматриваемого топика, это постоянная нагрузка на сервер, и если есть плагины, которые подписываются на событие изменения топика, то они постоянно смыкаются туда-сюда. это неверная логика, это ошибка в архитектуре.

это все равно что постоянно пересохранять топик.

а если счетчик в отдельной таблице (ид_топика, число_просмотров), то:

1. апдейтиться только она и значительно быстрее, без вызова цепочки подписанных плагинов и т.п. Плюс не нужно кеширование, если добавить индекс на поле ид топика.
2. параллельные запросы к данным топика, счетчик которого обновляется, не ждут выполнения этого запроса (не создается очередь)
3. переносимость и не зависимость от версий лс и структуры таблицы

более профессиональный подход ещё сложнее — для высоко нагруженных систем нужно две таблицы: первая, что уже описана (ид_топика, число_просмотров) и ещё одна (только ид_топика): за каждый просмотр топика инсертиться ид топика во вторую таблицу, а крон процесс с неё периодически собирает группированием количество просмотров на топик и обновляет счетчик в первой таблице, а потом удаляет записи ид топика в второй. это дает очень большой выигрыш в скорости т.к. первая таблица нагружена только в момент обновления её по крону и записи одним запросом всех обновленных данных по счетчикам топиков. а постоянная запись за каждый просмотр топика идет во вторую таблицу, которая тоже редко читается кроном. этот способ дает задержку в подсчете актуального количества просмотров на интервал запуска крон-процесса, но производительность вырастает в разы. именно так делают все серьезные проекты, например, ютуб, у которого можно видеть периодическое запоздалое обновление количества просмотров.
avatar
Я вообще себе сделал вытягивание и кеширование просмотров к топикам отдельно (так чтобы обновление не затрагивало кеш всего топика), даже к этому плагину когда-то писал дополнение.
Беспокоило то, что при большой интенсивности запросов update, вероятно, блокируется таблица со всеми топиками, что тормозит селекты.
Отдельная таблица не спасает, если она джоинится. Так что вариант таки дублировать это поле в двух таблицах и обновлять значения в таблице с топиками по крону, как предложил Wasja . Даже сделать ее типом MEMORY и транкейтить раз в час, например, после обновления данных в основной.
avatar
прочитайте мой комментарий livestreet.ru/blog/addons/17034.html#comment274205 я о почти том же
avatar
Моя попытка номер 5? Надеюсь в этот раз будет удачной!
avatar
Я знаю только 2 реализации счетчика — ViewCount (и его расширенная версия ViewStat) и счетчик в мобильном шаблоне. Было что-то еще?
avatar
У меня было еще два кастомных плагина)
avatar
т.е. это «скрещенный» viewcount и views?
почему не хотите «скрестить» viewstat и views?
avatar
Ну, я изначально собирался добавить счетчик в Views, руки только сейчас дошли (благодаря финансовому участию leginnn ).
Совместимость с ViewStat из бета-версии сохранена полностью. Более того, счетчик в моем плагине автоматически отслеживает активность ViewStat для предотвращения двойного увеличения числа просмотров.
Насчет внедрения непосредственно плагина ViewStat — он платный, его автор исходники свободно не распространял, так что это юридически неприемлемо.
avatar
зачем исходники viewstat? разве сохранение данных о просмотре в БД (кто + дата, время) запатентовано? )
avatar
Сделать сохранение в БД этих данных легко и просто. Сделать графический интерфейс для просмотра этих данных — муторно, а без средства просмотра — смысла в этих данных не вижу.
avatar
Добавьте индекс на поле просмотров, раз есть возможность по нему сортировать.
avatar
Добавил в GitHub.
avatar
А количество просмотров сразу должно обновляться при перезагрузке страницы?
avatar
Еще один глупый вопрос: для работы плагина требуется плагин Viewcount? Я тестирую плагин, но, почему-то, ни на хосте, ни на локальной машине, не обновляются значения в таблице topic_view, смотрю в самом phpmyadmin.
avatar
Все вопросы сняты, я не знал, что у плагина стоит защита от накрутки автором топика. Еще один плюс плагину :)
avatar
Нет, при не просто не требуется, а при активном Viewcount мой плагин даже не установится.
avatar
Error:
Plugin file /home/site/public_html/plugins/livestreet_views-master/PluginLivestreet_views-master.class.php not found

??????????????????
avatar
меняй название папки на правильное — небось с гитхаба качал ))
avatar
1.0.1 поддерживает?
avatar
не знаю, но проблем для «неподдержания» не вижу
avatar
иконки «глаза» нет и криво сидит
avatar
вот же проблема… прилепи другую иконку.
avatar
тоже иконки не обнаружил после установки, вероятно у вас тоже не дефолтный шаблон. Указано что работает с шаблоном synio, может причина в этом.
avatar
У меня Fortune Template
avatar
Абсолютно верно.
avatar
иконки «глаза» нет
Используется стандартная иконка из шаблона Synio, поэтому пока совместимо только с ним (мобильный шаблон содержит свою иконку).
В принципе могу отдельным файлом сделать, чтобы было удобнее.
криво сидит
В вашем шаблоне, наверное, стили другие.
avatar
Не проверялось, по идее должно поддерживать.
avatar
Добавлен отдельный файл иконки — github.com/wasja1982/livestreet_views/commit/f9aa74c1062701830c47bec51a425976e56a6614
avatar
Если я устанавлю сейчас заного скачав с гитхаба, дожно заработать?
avatar
Отображение иконки — заработает, насчет стилей — не знаю, возможно будет не очень красиво отображаться.
avatar
Добавлены параметры конфигурации:
— $config['only_users'] — Считать просмотры только от авторизованных пользователей.
— $config['only_once'] — Считать только первый просмотр топика пользователем (в пределах сессии).
avatar
у меня сейчас установлено 2 плагина
Viewcount — Показывает кол-во просмотров топика.
Просмотры — Сортировка топиков по числу просмотров.
их нужно отключить?
avatar
Первый отключить — второй переписать файлами из последней версии (взять можно на GitHub).
avatar
а это тот же Viewcount плагин что ли?
можно поподробней что добавилось после Viewcount 1.0.0
avatar
Нет, это совсем другой плагин, частично со схожим функционалом (в части работы счетчика), но с несколько другой реализацией (отдельная таблица в БД, использование сессий вместо куков для защиты от накрутки).
В общем можно расценивать как полную замену Viewcount.
avatar
А запросов в БД больше идет чем от ViewCount?
avatar
Такое же, только к другой таблице, которая привязан к топикам только по ID.
avatar
А статистка с того плагина перенесется? Хотелось бы ее сохранить :)
avatar
При первой установке плагина новая таблица создается на основе накопленных данных из таблицы «prefix_topic». Т.е. статистика не теряется.

Но если отключить плагин «Просмотры», а потом включить, то данные из таблицы «prefix_topic» повторно перенесены не будут.
avatar
Плагин не работает на мобильном шаблоне, есть лишняя icon-views, не работает кнопка просматриваемые, пишет
сюда еще никто не успел написать
Сори что долго проверял, не было времени.
avatar
Плагин не работает на мобильном шаблоне
Вполне себе работает.
есть лишняя icon-views
Имеете в виду, что перекрыт стандартный класс иконки для мобильного шаблона?
не работает кнопка просматриваемые
А период «За все время» выбирали?
avatar
Имеете в виду, что перекрыт стандартный класс иконки для мобильного шаблона?
Нет внизу еще появляется иконка и счетчик просмотров, один стандартный и один от плагина
А период «За все время» выбирали?
Точно не помню вроде просто нажал на просматриваемые и не чего не показывало.
avatar
Нет внизу еще появляется иконка и счетчик просмотров, один стандартный и один от плагина
В плагине используется стандартный код для определения наличия мобильного шаблона
(class_exists('MobileDetect') && MobileDetect::IsMobileTemplate())

При обнаружении мобильного шаблона счетчик не вставляется, на тестовом сайте все работает без проблем

просто нажал на просматриваемые
По умолчанию отображаются топики за последний день, если их нет — то за 7 дней. Это стандартный алгоритм, используемый также в «Обсуждаемые» и «ТОР».
avatar
А если домен m.сайт.ru и загрузить не как плагин а как шаблон?
avatar
Попробуйте с таким файлом «inject_show_info.tpl»:
{if Config::Get('view.skin') != 'mobile'}
{assign var="countRead" value=$oTopic->getCountRead()}
<li class="topic-info-comments">
    <a title="{$aLang.plugin.views.viewstitle}" class="views-count">
    <i class="icon-views{if $countRead == 0}-zero{/if}"></i>
    <span>{$countRead}</span>
    </a>
</li>
{/if}
avatar
Вторая иконка просмотры исчезла а кнопка просматриваемые, не работает, пишет
Сюда еще никто не успел написать

А если серьезно, проще удалить лишний код второй иконки, чем этот скрипт вписывать)
avatar
Подсчет просмотров работает.
avatar
Круто! А будете делать совместимость с другими шаблонами?
Synio все-таки дефолтовый, не все с ним работают.
Интересует более плотное внедрение в Synio Flow (чтобы на главной), Jupiter.
Или это к разработчикам шаблонов обращаться надо?
avatar
У меня нет доступа к платным шаблонам, так что лучше просить их авторов. Тем более, что в большинстве случаев, потребуются исправления одного файла и/или стилей CSS.
avatar
Спасибо за ответ!
avatar
Заметил что при включенном плагине Просмотры в форуме LS Board пропадает у админа кнопка «Управление форумом»

Вот код кнопки в форуме LS Board
<ul class="nav nav-pills">
	<li{if $sMenuItemSelect=='forum'} class="active"{/if}><a href="{router page='forum'}">{$aLang.plugin.forum.forums}</a></li>

	{if $oUserCurrent && $oUserCurrent->isAdministrator()}
		<li{if $sMenuItemSelect=='admin'} class="active"{/if}>
			<a href="{router page='forum'}admin">{$aLang.plugin.forum.acp}</a>
		</li>
	{/if}

	{hook run='menu_forum_item'}
	{hook run='menu_forum'}
</ul>


Вчем может быть причина?
avatar
Проверил на последней версии плагина — на чистом сайте воспроизвести эту ошибку не удалось.
avatar
Жаль только что учитываются просмотры от поисковых систем. При заходе Google бота, сразу +2 просмотра.
avatar
Добавлено игнорирование просмотра топиков поисковыми роботами.
avatar
Спасибо.
avatar
К сожалению поисковые боты так же учитываются.
avatar
Я использовал стандартный способ с анализом $_SERVER['HTTP_USER_AGENT'].
Какие именно боты не отлавливаются? Как обнаружили?
У Вас установлена последняя версия с GitHub?
avatar
Нет, я скачивал с каталога Livestreet. Отслеживаю так, новая статья, добавляю эту статью в Google и тут же через несколько секунд +2 просмотра и так ко всем статьям(
avatar
Каким именно инструментом Вы пользуетесь для добавления статей в Google?
Можете найти в логах обращения к серверу конкретные строчки, относящиеся к данному боту?
На мои сайты ходит стандартный бот, который нормально отслеживается:
66.249.78.209 - - [15/Nov/2013:00:33:42 +0400] "GET /blog/newsocialcomments/3.html HTTP/1.0" 200 10749 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
avatar
Функцией в Инструментах вебмастера, Посмотреть как Google-bot.
avatar
Вы точно установили последнюю версию с GitHub?
Я проверил — приходит стандартный бот, который нормально отлавливается.
avatar
В плагине есть настройка
— $config['only_once'] — Считать только первый просмотр топика пользователем (в пределах сессии).

Может считать так и так, чтобы выводить как количество уникальных просмотров, так и всего?
avatar
В принципе, технически это легко реализуемо — добавить один столбец в таблицу БД и несколько функций для его заполнения. Но я лично не вижу смысла в хранении этой информации.
avatar
Подскажите, как изменить цвет цифр количества просмотров? Гафический файл пнж заменил на другой цвет, а цифры?
avatar
По умолчанию используется класс «topic-info-comments» (стандартный стиль для счетчиков комментариев). Поэтому у Вас 2 пути:
1) изменить стандартный стиль «topic-info-comments» в CSS файлах шаблона;
2) исправить в файле "/plugins/views/templates/skin/default/inject_show_info.tpl" объявление счетчика в строке
<li class="topic-info-comments">

Тут либо задать свой класс, либо жестко прописать цвет в стилях.
avatar
Спасибо. Помогло.
avatar
Деактивировал views 1.0.0, затем viewstat. Залил views 1.0.1, активировал. В месте где жолжна быть иконка ошибка:
SQL Error: Unknown column 'topic_count_read' in 'field list' at \plugins\views\classes\modules\topic\mapper\Topic.mapper.class.php line 107
Array ( [code] => 1054 [message] => Unknown column 'topic_count_read' in 'field list' [query] => SELECT topic_count_read FROM ls_topic_view WHERE topic_id = 284 [context] => \plugins\views\classes\modules\topic\mapper\Topic.mapper.class.php line 107 )
Таблица prefix_topic_view создалась, но данные с viewstat не перенеслись.
avatar
Данные ViewStat и не должны переноситься — плагин Views работает параллельно с ViewStat (должны быть включены оба), т.е. иконка Views не отображается (только иконка самого ViewStat), счетчик в таблице не обновляется для избежания дублирования (ViewStat сам считает).

Насчет самой ошибки — сейчас проверю.
avatar
Проверьте правильность создания таблицы «ls_topic_view» (там всего 2 поля должно быть).
avatar
у меня 5: view_id, target_id, user_id, user_ip, view_date_add
правда там одна строка всего, не могу понять откуда эти поля
по всей видимости таблица была поэтому новая (с 2 полями) не создалась.
avatar
Да, все правильно, плагин при активации проверил что таблица создана и не создавал.
Но вот откуда эта таблица у Вас и какой плагин ее создал — я не знаю. Возможно имеет смысл задать в конфигурации плагина Views другое имя для таблицы, чтобы не было конфликтов.
avatar
После включения плагина у некоторых топиков появились значения количества просмотров, а у каких-то значения остались нулевыми. При том эти якобы не просмотренные топики достаточно популярны и явно просматривались несколько сотен раз. Почему такое произошло? Нормальное ли это поведение плагина или так не должно быть?
avatar
Сразу после активации плагина отображается статистика, которая уже была в БД. Насколько она актуальная — судить Вам, как владельцу сайта. В принципе можно было бы и обнулить всю статистику, чтобы получить равномерные данные.

В любом случае, если число просмотров увеличивается, значит плагин работает нормально.
avatar
я разобрался в чем причина. При первичной активации вашего плагина создается таблица 'prefix_topic_view' куда копируются данные из столбца topic_count_read в таблице prefix_topic. Я активировал плагин уже не первый раз, до этого проверял его месяц назад, поэтому новые данные в таблицу плагина не скопировались и у новых топиков число просмотров было равно нулю. Таблицу плагина дропнул и активировал плагин заново, теперь все считается нормально)
avatar
наверное надо условие добавить if exist?
avatar
Существование таблицы проверяется при активации плагина — github.com/wasja1982/livestreet_views/blob/master/PluginViews.class.php#L42
avatar
Если читать не уникальные просмотры, то за один просмотр увеличивается на 2 и больше за 1 открытие топика.
avatar
А все, заработало.
avatar
Мне не нравится иконка просмотров в мобильном шаблоне. Можете ли подсказать как установить стандартную иконку мобильного шаблона?
avatar
Иконка в мобильном шаблоне не перекрывается, т.е. выводится стандартная (определяется CSS-классом «icon-views»).
avatar
это не так. вместо стандартной серой иконки выводится зелёная иконка плагина :(
avatar
Изменено название класса для корректного отображения счетчика мобильного шаблона — github.com/wasja1982/livestreet_views/commit/5720035d3abbe4f97de80f9d34e5357921e1acbf
avatar
спасибо! теперь всё нормально)
avatar
А можно ли как-то проверить кто просматривал конкретный топик? У меня по одному топику кол-во просто зашкалило, при этом топик по сути ни о чем важном да и посещалка так же в пределах и не выросла. Такое наблюдается лишь у одного топика, что очень странно
avatar
А можно ли как-то проверить кто просматривал конкретный топик?
Нет, такой возможности не предусмотрено.
У меня по одному топику кол-во просто зашкалило, при этом топик по сути ни о чем важном
Возможно много переходов из поисковиков — например, страничка удачно проиндексировалась. Счетчики типа Яндекс.Метрики или Google Analytics что по этому топику показывают?
avatar
При активации плагина главное меню становится выпадающим списком, а также возникает верхний отступ шапки (примерно 20px). Кто-нибудь сталкивался с подобной проблемой?
avatar
Если посмотрите исходный код страницы, там первой строкой будет идти некая ошибка или предупреждение PHP. Скопируйте ее сюда или мне в личку — разберемся.
avatar
Здравствуйте. Действительно возникает ошибка:
Warning: Class 'PluginSitemap_ModuleTopic_EntityTopic' not found in /home/e/e20oneru/campus/public_html/plugins/aceadminpanel/include/adm_helper.php on line 753

Fatal error: Uncaught exception 'Exception' with message 'Undefined method module: AddView' in /home/e/e20oneru/campus/public_html/engine/classes/Engine.class.php:604 Stack trace: #0 /home/e/e20oneru/campus/public_html/engine/classes/Engine.class.php(531): Engine->GetModule('AddView') #1 /home/e/e20oneru/campus/public_html/engine/classes/Entity.class.php(173): Engine->_CallModule('AddView', Array) #2 /home/e/e20oneru/campus/public_html/plugins/views/classes/hooks/HookViews.class.php(74): Entity->__call('AddView', Array) #3 /home/e/e20oneru/campus/public_html/plugins/views/classes/hooks/HookViews.class.php(74): PluginSitemap_ModuleTopic_EntityTopic->AddView() #4 [internal function]: PluginViews_HookViews->TopicShow(Array) #5 /home/e/e20oneru/campus/public_html/engine/modules/hook/Hook.class.php(292): call_user_func_array(Array, Array) #6 /home/e/e20oneru/campus/public_html/engine/modules/hook/Hook.class.php(246): ModuleHook->RunType(Array, Array) #7 [internal function]: ModuleHook->Run('topic_show', Array) #8 /home/e/e20on in /home/e/e20oneru/campus/public_html/engine/classes/Engine.class.php on line 604
avatar
Тут нет проблемы с плагином просмотров ;)
Php ругается на класс движка и на плагин админпанели от Авадима )))
Попробуйте деактивировать админку Вадима, может ошибка уйдет — и кеш почистить не забудьте (файловый и кеш шаблона).
avatar
Подскажите пожалуйста, что и где нужно подправить чтобы сортировка, по умолчанию, была везде за всё время.
avatar
Не очень понял, что Вы имеете в виду. Если, чтобы список топиков отображался по умолчанию с выбранным значением «За все время», то для этого необходимо заменить строку
$sPeriod=1;

на строку
$sPeriod='all';

в следующих местах:
1) github.com/wasja1982/livestreet_views/blob/master/classes/actions/ActionBlog.class.php#L45
2) github.com/wasja1982/livestreet_views/blob/master/classes/actions/ActionBlog.class.php#L107
3) github.com/wasja1982/livestreet_views/blob/master/classes/actions/ActionIndex.class.php#L29
4) github.com/wasja1982/livestreet_views/blob/master/classes/actions/ActionPersonalBlog.class.php#L35
avatar
Да, именно то, что нужно! Благодарю!
avatar
Обнаружил расхождение в данных плагина с реальным количеством просмотров. На сайте есть топик с 6000 просмотров, в то время как в яндекс.метрике и google analytics отображается всего ~650. Есть ли предположения почему это может быть?
avatar
А за какой период собраны данные в плагине? Выбран ли этот в метрике и аналитике?
Кроме того вопрос, как настроен плагин — учитывает ли он повторные просмотры (значение параметра $config['only_once'] равно true или false)?

А вообще особо идей нет — если бы не столь значительная разбежка, можно было бы рассмотреть вариант разного рода банерорезалок, которые блокируют JS-скрипты метрики и аналитики, но разница на порядок…
avatar
Данные в плагине собираются примерно с июня, а пост в котором засчитаны фейковые просмотры был написан несколькими месяцами позже. Повторные просмотры не учитываются, стоит false.

Могут ли причиной этому сбою быть поисковые роботы или другие link-crawler'ы? И есть ли способ эту проблему решить и избежать дальнейших расхождений?
avatar
Повторные просмотры не учитываются, стоит false.
При «false» повторные просмотры как раз учитываются, при «true» — считаются единоразово.
Могут ли причиной этому сбою быть поисковые роботы или другие link-crawler'ы?
В последней версии (можно скачать с GitHub) поисковые боты блокируются.
Но, вообще поисковые роботы за полгода столько просмотров не накрутят.
avatar
При «false» повторные просмотры как раз учитываются, при «true» — считаются единоразово.
Ошибся, в конфиге установлено значение true.
В последней версии (можно скачать с GitHub) поисковые боты блокируются.
А можно пожалуйста ссылку на GitHub?
avatar
комментарий был удален
avatar
Добавлена поддержка шаблона "VK Flat Style".
avatar
Адаптируйте если не сложно и есть немного времени под шаблоны Vintage и Fortune.
avatar
К сожалению, под платные шаблоны адаптацию я не осуществляю — во-первых, у меня их просто нет, а во-вторых, этим, по хорошему, должны заниматься их авторы.
avatar
Версия 1.0.2 добавлена в каталог.
avatar
Можно ли как то отключить игнорирование просмотра топиков поисковыми роботами? Хочу что бы статистика считала просмотры от ботов яндекса, гугла и т.д.
avatar
Наверное можно закомментировать это
avatar
Вроде то что нужно, а разве строка
return $this->oMapperTopic->AddView($sTopicId);
тоже комментируется?
avatar
нет
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.