OJS 3: doi статей на странице номера


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

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

Многие спрашивают, как отобразить в этом списке рядом с перечисленной выше информацией еще идентификаторы DOI. На наш взгляд, есть довольно простое решение…

Для версии OJS от 3.0 до 3.1.1.4

Нужно найти следующий файл templates/frontend/objects/article_summary.tpl

Далее найти в нем, к примеру, фрагмент кода, который отвечает за вывод страниц

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

И сразу после этого фрагмента вставить следующий код

{* DOI (requires plugin) *}
{foreach from=$pubIdPlugins item=pubIdPlugin}
{if $pubIdPlugin->getPubIdType() != 'doi'}
{php}continue;{/php}
{/if}
{if $issue->getPublished()}
{assign var=pubId value=$article->getStoredPubId($pubIdPlugin->getPubIdType())}
{else}
{assign var=pubId value=$pubIdPlugin->getPubId($article)}{* Preview pubId *}
{/if}
{if $pubId}
{assign var="doiUrl" value=$pubIdPlugin->getResolvingURL($currentJournal->getId(), $pubId)|escape}
<div class="item doi">
<span class="label">
{translate key="plugins.pubIds.doi.readerDisplayName"}
</span>
<span class="value">
<a href="{$doiUrl}">
{$doiUrl}
</a>
</span>
</div>
{/if}
{/foreach}

Для версии OJS 3.1.2

{* DOI (requires plugin) *}
{foreach from=$pubIdPlugins item=pubIdPlugin}
{if $pubIdPlugin->getPubIdType() != 'doi'}
{continue}
{/if}
{assign var=pubId value=$article->getStoredPubId($pubIdPlugin->getPubIdType())}
{if $pubId}
{assign var="doiUrl" value=$pubIdPlugin->getResolvingURL($currentJournal->getId(), $pubId)|escape}
<div class="item doi">
<span class="label">
{capture assign=translatedDOI}{translate key="plugins.pubIds.doi.readerDisplayName"}{/capture}
{translate key="semicolon" label=$translatedDOI}
</span>
<span class="value">
<a href="{$doiUrl}">
{$doiUrl}
</a>
</span>
</div>
{/if}
{/foreach}

После этого DOI будут отображаться сразу под ФИО авторов статьи.

Результат

Также Вы можете посмотреть результат на одном из наших сайтов.


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


Теги: , , ,

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

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

Поделиться: