OJS 3: статистика скачиваний и просмотров статей


Уважаемые коллеги, в данном материале мы расскажем о том, как можно быстро и сравнительно несложно реализовать отображение статистики просмотров аннотаций и скачиваний PDF файлов статей в базовом шаблоне Open Journal Systems 3.

Также мы рассмотрим активацию и настройку базового модуля usageStats, который отвечает за отображение графика скачиваний PDF файла на страницах отдельных статей в Open Journal Systems 3.

Результат Вы можете посмотреть на одном из наших сайтов (Журнал «Психолингвистика»).


1. Отображение статистики на странице с оглавлением номера

Нужно найти файл templates/frontend/objects/article_summary.tpl

в этом файле найти, к примеру, блок отображения страниц статьи

{* Page numbers for this article *}
{if $article->getPages()}
<div class="pages">
{$article->getPages()|escape}
</div>
{/if}

и сразу после него добавить следующий код (для версии OJS 3.1)

{translate key="article.numberofviews"} {$article->getViews()}
{if is_a($article, 'PublishedArticle')}{assign var=galleys value=$article->getGalleys()}{/if} | 
{if $galleys}
{foreach from=$galleys item=galley name=galleyList}
{translate key="article.numberofdownloads"} {$galley->getViews()}
{/foreach}
{/if}

или такой код (для версии OJS 3.2 и выше)

{assign var=galleys value=$article->getGalleys()}
{translate key="article.numberofviews"} {$article->getViews()}
{if $galleys}
{foreach from=$galleys item=galley name=galleyList}
| {translate key="article.numberofdownloads"} {$galley->getViews()}
{/foreach}
{/if}

Результат


2. Отображение статистики на отдельной странице статьи

Нужно найти файл templates/frontend/objects/article_details.tpl

в этом файле найти, к примеру, блок вывода PDF-гранок {* Article Galleys *}

и после следующих строк

<ul class="value galleys_links">
{foreach from=$primaryGalleys item=galley}
<li>
{include file="frontend/objects/galley_link.tpl" parent=$article galley=$galley purchaseFee=$currentJournal->getSetting('purchaseArticleFee') purchaseCurrency=$currentJournal->getSetting('currency')}
</li>
{/foreach}
</ul>

добавить такой код

<br>
{translate key="article.numberofviews"} {$article->getViews()}
{if is_a($article, 'PublishedArticle')}{assign var=galleys value=$article->getGalleys()}{/if}</br>
{if $galleys}
{foreach from=$galleys item=galley name=galleyList}
{translate key="article.numberofdownloads"} {$galley->getViews()}
{/foreach}
{/if}

Результат


3. Добавление ключей локализации

Для того, чтобы надписи в шаблоне, отвечающие за статистику, отображались корректно во всех языковых версиях сайта, нужно добавить несколько новых ключей локализации в файлы xml

в файл locale/en_US/locale.xml следующие ключи

<message key="article.numberofviews">Abstract views:</message>
<message key="article.numberofdownloads">PDF Downloads:</message>

в файл locale/uk_UA/locale.xml следующие ключи

<message key="article.numberofviews">Переглядів анотації:</message>
<message key="article.numberofdownloads">Завантажень PDF:</message>

в файл locale/ru_RU/locale.xml следующие ключи

<message key="article.numberofviews">Просмотров аннотации:</message>
<message key="article.numberofdownloads">Загрузок PDF:</message>

Результат


4. Отображение графика скачиваний PDF на странице статьи

Идем: Settings >>> Website >>> Plugins 

Находим и включаем модуль Usage Statistics… далее идем в настройки Settings

В настройках можно поставить галочку рядом с Create log files

В поле Parse log files regex можно добавить строчку

/^(?P<ip>\S+) \S+ \S+ \[(?P<date>.*?)\] "\S+ (?P<url>\S+).*?" (?P<returnCode>\S+) \S+ ".*?" "(?P<userAgent>.*?)"/

Далее поставить галочку рядом с Compress archives … и добавить следующие настройки (как на скриншоте ниже), после сохранить Save.

Часто дополнительные модули не содержат украинской или русской локализации. Чтобы это исправить, идем в галерею модулей, устанавливаем и активируем Translator Plugin. Далее в панели настройки сайта появится новая вкладка Translate со списком доступных локализаций. Выбираем необходимую (Uk_ua или Ru_ru)…

Находим локализацию модуля статистики usageStats и нажимаем редактировать edit

Далее находим недостающий ключ локализации, который отвечает за название блока в шаблоне или сокращенное название месяцев в графике (или другие недостающие ключи), добавляем соответствующее значение и сохраняем результат.

Результат


Надеемся, данные материал был для Вас полезен. С уважением. Участники OSU.


Теги: , ,

Дата публикации материала: 19.03.2019

Трекбэк с Вашего сайта.

Поделиться: