Untuk menambah informasi adanya DOI tiap artikel yang sudah dipublish kita dapat menambahkan informasi DOI tersebut pada Table of Content atau pada halaman depan Current Issue. Namun halaman depan ini tidak langsung menampilkan informasi DOI tiap artikel yang sudah terbit, informasi tersebut hanya muncul ketika kita melihat detail masing-masing artikel. Untuk mengatasi hal tersebut kita dapat merombak dan menambahkan kode agar pada halaman depan tiap artikel pada daftar isi issue menampilkan informasi link DOI. Untuk itu mari kita simak tutorial berikut ini :

1. IssueHandler.inc.php (pages/issue/)
2. article_summary.tpl (templates/frontend/objects/)

————————————————————————

File yg 1 : IssueHandler.inc.php

-buka filenya
-lalu search function _setupIssueTemplate;
-nanti akan muncul kode kode

static function _setupIssueTemplate($request, $issue, $showToc = false) {
$journal = $request->getJournal();
$user = $request->getUser();
$templateMgr = TemplateManager::getManager($request);

-tambahkan kode berikut di dalam fungsi tersebut :

$pubIdPlugins = PluginRegistry::loadCategory(‘pubIds’, true);
$templateMgr->assign(‘pubIdPlugins’, $pubIdPlugins);

-save

File yg 2 : article_summary.tpl 

-buka filenya
– scroll mouse ke bawah mentok, nanti ada kode

{call_hook name=”Templates::Issue::Issue::Article”}

-lalu masukkan kode berikut di atasnya

{foreach from=$pubIdPlugins item=pubIdPlugin}
{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}
{translate key=”plugins.pubIds.doi.readerDisplayName”} :
<a href=”{$doiUrl}”>
{$doiUrl}
</a>
{/if}
{/foreach}

-Hasilnya akan seperti ini :


Jika menggunakan theme tambahan, misal oldGregg cara diatas belum bisa berjalan, ada tambahan coding

Cekidot:

File yg di utik-utik:

1. IssueHandler.inc.php (pages/issue/) -> ini sama seperti langkah di atas, jika sudah dirubah, dilanjutkan ke langkah selanjutnya
2. article_summary.tpl (plugins/themes/oldGregg/templates/frontend/objects/)
3. indexJournal.tpl (plugins/themes/oldGregg/templates/frontend/pages/)

—————————————————————————————————

File yg 1 : IssueHandler.inc.php (caranya sama seperti sebelumnya, jika sudah dirubah, di skip )

File yg 2 : article_summary.tpl (caranya sama seperti sebelumnya, bedanya hanya lokasi file )

File yg 3 : indexJournal.tpl 

go to line 44 -> nanti akan terlihat code berikut :

<p class=”card-text”>
{foreach from=$article->getAuthors() key=k item=author}
<span>{$author->getLastName()|strip|escape:”html”}
{if $k<($article->getAuthors()|@count – 1)}
{$author->getFirstName()|regex_replace:”/(?<=\w)\w+/”:”.,”}
{else}
{$author->getFirstName()|regex_replace:”/(?<=\w)\w+/”:”.”}
{/if}</span>
{/foreach}
</p>

-lalu tambahkan kode berikut dibawahnya

{foreach from=$pubIdPlugins item=pubIdPlugin}
{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}
{translate key=”plugins.pubIds.doi.readerDisplayName”} :
<a href=”{$doiUrl}”>
{$doiUrl}
</a>
{/if}
{/foreach}

 

Hasilnya :

Untuk Full Code OJS silahkan Donwnload :

Documents

Sumber :