+19.32
Рейтинг
52.21
Сила
  • avatar Wasja
  • 0
Существование таблицы проверяется при активации плагина — github.com/wasja1982/livestreet_views/blob/master/PluginViews.class.php#L42
  • avatar Wasja
  • 0
Сразу после активации плагина отображается статистика, которая уже была в БД. Насколько она актуальная — судить Вам, как владельцу сайта. В принципе можно было бы и обнулить всю статистику, чтобы получить равномерные данные.

В любом случае, если число просмотров увеличивается, значит плагин работает нормально.
  • avatar Wasja
  • 0
Да, все правильно, плагин при активации проверил что таблица создана и не создавал.
Но вот откуда эта таблица у Вас и какой плагин ее создал — я не знаю. Возможно имеет смысл задать в конфигурации плагина Views другое имя для таблицы, чтобы не было конфликтов.
  • avatar Wasja
  • 0
Проверьте правильность создания таблицы «ls_topic_view» (там всего 2 поля должно быть).
  • avatar Wasja
  • 0
Данные ViewStat и не должны переноситься — плагин Views работает параллельно с ViewStat (должны быть включены оба), т.е. иконка Views не отображается (только иконка самого ViewStat), счетчик в таблице не обновляется для избежания дублирования (ViewStat сам считает).

Насчет самой ошибки — сейчас проверю.
  • avatar Wasja
  • 1
По умолчанию используется класс «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 Wasja
  • 0
В принципе, технически это легко реализуемо — добавить один столбец в таблицу БД и несколько функций для его заполнения. Но я лично не вижу смысла в хранении этой информации.
  • avatar Wasja
  • 1
Добавлено игнорирование просмотра топиков поисковыми роботами.
  • avatar Wasja
  • 1
Цитата из упоминаемого выше комментария за авторством PSNet:
сейчас постоянно (!) апдейтиться таблица топиков с постоянным сбросом кеша каждого просматриваемого топика, это постоянная нагрузка на сервер, и если есть плагины, которые подписываются на событие изменения топика, то они постоянно смыкаются туда-сюда. это неверная логика, это ошибка в архитектуре.

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

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

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

более профессиональный подход ещё сложнее — для высоко нагруженных систем нужно две таблицы: первая, что уже описана (ид_топика, число_просмотров) и ещё одна (только ид_топика): за каждый просмотр топика инсертиться ид топика во вторую таблицу, а крон процесс с неё периодически собирает группированием количество просмотров на топик и обновляет счетчик в первой таблице, а потом удаляет записи ид топика в второй. это дает очень большой выигрыш в скорости т.к. первая таблица нагружена только в момент обновления её по крону и записи одним запросом всех обновленных данных по счетчикам топиков. а постоянная запись за каждый просмотр топика идет во вторую таблицу, которая тоже редко читается кроном. этот способ дает задержку в подсчете актуального количества просмотров на интервал запуска крон-процесса, но производительность вырастает в разы. именно так делают все серьезные проекты, например, ютуб, у которого можно видеть периодическое запоздалое обновление количества просмотров.
  • avatar Wasja
  • 0
У меня нет доступа к платным шаблонам, так что лучше просить их авторов. Тем более, что в большинстве случаев, потребуются исправления одного файла и/или стилей CSS.
  • avatar Wasja
  • 0
Без этого пользователя, Ваш сайт после отключения плагина просто умер. Все блоки, так или иначе связанные с комментариями выдавали бы ошибки при попытках обращения к сущности пользователя-автора комментария.
Альтернативное решение — после авторизации через соцсеть создавать новый аккаунт, но для этого есть специальные плагины, а усложнять этот смысла нет.
  • avatar Wasja
  • 0
При первой установке плагина новая таблица создается на основе накопленных данных из таблицы «prefix_topic». Т.е. статистика не теряется.

Но если отключить плагин «Просмотры», а потом включить, то данные из таблицы «prefix_topic» повторно перенесены не будут.
  • avatar Wasja
  • 0
Попробуйте с таким файлом «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 Wasja
  • 0
Нет внизу еще появляется иконка и счетчик просмотров, один стандартный и один от плагина
В плагине используется стандартный код для определения наличия мобильного шаблона
(class_exists('MobileDetect') && MobileDetect::IsMobileTemplate())

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

просто нажал на просматриваемые
По умолчанию отображаются топики за последний день, если их нет — то за 7 дней. Это стандартный алгоритм, используемый также в «Обсуждаемые» и «ТОР».
  • avatar Wasja
  • 0
Плагин не работает на мобильном шаблоне
Вполне себе работает.
есть лишняя icon-views
Имеете в виду, что перекрыт стандартный класс иконки для мобильного шаблона?
не работает кнопка просматриваемые
А период «За все время» выбирали?
  • avatar Wasja
  • 0
Нет, это совсем другой плагин, частично со схожим функционалом (в части работы счетчика), но с несколько другой реализацией (отдельная таблица в БД, использование сессий вместо куков для защиты от накрутки).
В общем можно расценивать как полную замену Viewcount.
  • avatar Wasja
  • 0
Первый отключить — второй переписать файлами из последней версии (взять можно на GitHub).
  • avatar Wasja
  • 0
Добавлены параметры конфигурации:
— $config['only_users'] — Считать просмотры только от авторизованных пользователей.
— $config['only_once'] — Считать только первый просмотр топика пользователем (в пределах сессии).
  • avatar Wasja
  • 0
Отображение иконки — заработает, насчет стилей — не знаю, возможно будет не очень красиво отображаться.
  • avatar Wasja
  • 0
Добавлен отдельный файл иконки — github.com/wasja1982/livestreet_views/commit/f9aa74c1062701830c47bec51a425976e56a6614