{** * templates/frontend/objects/article_details.tpl * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @brief View of an Article which displays all details about the article. * Expected to be primary object on the page. * * Many journals will want to add custom data to this object, either through * plugins which attach to hooks on the page or by editing the template * themselves. In order to facilitate this, a flexible layout markup pattern has * been implemented. If followed, plugins and other content can provide markup * in a way that will render consistently with other items on the page. This * pattern is used in the .main_entry column and the .entry_details column. It * consists of the following: * * *
* *
Abstract
*
Value
*
* * All styling should be applied by class name, so that titles may use heading * elements (eg,

) or any element required. * * *
*
*
DOI
*
12345678
*
*
*
Published Date
*
2015-01-01
*
*
* * *
*
Whatever you'd like
*
* * Core components are produced manually below, but can also be added via * plugins using the hooks provided: * * Templates::Article::Main * Templates::Article::Details * * @uses $article Submission This article * @uses $publication Publication The publication being displayed * @uses $firstPublication Publication The first published version of this article * @uses $currentPublication Publication The most recently published version of this article * @uses $issue Issue The issue this article is assigned to * @uses $section Section The journal section this article is assigned to * @uses $categories Category The category this article is assigned to * @uses $primaryGalleys array List of article galleys that are not supplementary or dependent * @uses $supplementaryGalleys array List of article galleys that are supplementary * @uses $keywords array List of keywords assigned to this article * @uses $pubIdPlugins Array of pubId plugins which this article may be assigned * @uses $licenseTerms string License terms. * @uses $licenseUrl string URL to license. Only assigned if license should be * included with published submissions. * @uses $ccLicenseBadge string An image and text with details about the license *} {if !$heading} {assign var="heading" value="h3"} {/if}
{* Indicate if this is only a preview *} {if $publication->getData('status') !== \PKP\submission\PKPSubmission::STATUS_PUBLISHED}
{capture assign="submissionUrl"}{url page="workflow" op="access" path=$article->getId()}{/capture} {translate key="submission.viewingPreview" url=$submissionUrl}
{* Notification that this is an old version *} {elseif $currentPublication->getId() !== $publication->getId()}
{capture assign="latestVersionUrl"}{url page="article" op="view" path=$article->getBestId()}{/capture} {translate key="submission.outdatedVersion" datePublished=$publication->getData('datePublished')|date_format:$dateFormatShort urlRecentVersion=$latestVersionUrl|escape }
{/if}

{$publication->getLocalizedTitle(null, 'html')|strip_unsafe_html}

{if $publication->getLocalizedData('subtitle')}

{$publication->getLocalizedSubTitle(null, 'html')|strip_unsafe_html}

{/if}
{if $publication->getData('authors')}

{translate key="article.authors"}

    {foreach from=$publication->getData('authors') item=author}
  • {$author->getFullName()|escape} {if $author->getLocalizedData('affiliation')} {$author->getLocalizedData('affiliation')|escape} {if $author->getData('rorId')} {$rorIdIcon} {/if} {/if} {assign var=authorUserGroup value=$userGroupsById[$author->getData('userGroupId')]} {if $authorUserGroup->getShowTitle()} {$authorUserGroup->getLocalizedName()|escape} {/if} {if $author->getData('orcid')} {if $author->getData('orcidAccessToken')} {$orcidIcon} {/if} {$author->getData('orcid')|escape} {/if}
  • {/foreach}
{/if} {* DOI *} {assign var=doiObject value=$article->getCurrentPublication()->getData('doiObject')} {if $doiObject} {assign var="doiUrl" value=$doiObject->getData('resolvingUrl')|escape}

{capture assign=translatedDOI}{translate key="doi.readerDisplayName"}{/capture} {translate key="semicolon" label=$translatedDOI}

{$doiUrl}
{/if} {* Keywords *} {if !empty($publication->getLocalizedData('keywords'))}

{capture assign=translatedKeywords}{translate key="article.subject"}{/capture} {translate key="semicolon" label=$translatedKeywords}

{foreach name="keywords" from=$publication->getLocalizedData('keywords') item="keyword"} {$keyword|escape}{if !$smarty.foreach.keywords.last}{translate key="common.commaListSeparator"}{/if} {/foreach}
{/if} {* Abstract *} {if $publication->getLocalizedData('abstract')}

{translate key="article.abstract"}

{$publication->getLocalizedData('abstract')|strip_unsafe_html}
{/if} {call_hook name="Templates::Article::Main"} {* Usage statistics chart*} {if $activeTheme->getOption('displayStats') != 'none'} {$activeTheme->displayUsageStatsGraph($article->getId())}

{translate key="plugins.themes.default.displayStats.downloads"}

{translate key="plugins.themes.default.displayStats.noStats"}
{/if} {* Author biographies *} {assign var="hasBiographies" value=0} {foreach from=$publication->getData('authors') item=author} {if $author->getLocalizedData('biography')} {assign var="hasBiographies" value=$hasBiographies+1} {/if} {/foreach} {if $hasBiographies}

{if $hasBiographies > 1} {translate key="submission.authorBiographies"} {else} {translate key="submission.authorBiography"} {/if}

    {foreach from=$publication->getData('authors') item=author} {if $author->getLocalizedData('biography')}
  • {if $author->getLocalizedData('affiliation')} {capture assign="authorName"}{$author->getFullName()|escape}{/capture} {capture assign="authorAffiliation"} {$author->getLocalizedData('affiliation')|escape} {/capture} {translate key="submission.authorWithAffiliation" name=$authorName affiliation=$authorAffiliation} {else} {$author->getFullName()|escape} {/if}
    {$author->getLocalizedData('biography')|strip_unsafe_html}
  • {/if} {/foreach}
{/if} {* References *} {if $parsedCitations || $publication->getData('citationsRaw')}

{translate key="submission.citations"}

{if $parsedCitations} {foreach from=$parsedCitations item="parsedCitation"}

{$parsedCitation->getCitationWithLinks()|strip_unsafe_html} {call_hook name="Templates::Article::Details::Reference" citation=$parsedCitation}

{/foreach} {else} {$publication->getData('citationsRaw')|escape|nl2br} {/if}
{/if}
{* Article/Issue cover image *} {if $publication->getLocalizedData('coverImage') || ($issue && $issue->getLocalizedCoverImage())}
{if $publication->getLocalizedData('coverImage')} {assign var="coverImage" value=$publication->getLocalizedData('coverImage')} {$coverImage.altText|escape|default:''} {else} getBestIssueId()}"> {$issue->getLocalizedCoverImageAltText()|escape|default:''} {/if}
{/if} {* Article Galleys *} {if $primaryGalleys}

{translate key="submission.downloads"}

{/if} {if $supplementaryGalleys}

{translate key="submission.additionalFiles"}

{/if} {if $publication->getData('datePublished')}

{translate key="submissions.published"}

{* If this is the original version *} {if $firstPublication->getId() === $publication->getId()} {$firstPublication->getData('datePublished')|date_format:$dateFormatShort} {* If this is an updated version *} {else} {translate key="submission.updatedOn" datePublished=$firstPublication->getData('datePublished')|date_format:$dateFormatShort dateUpdated=$publication->getData('datePublished')|date_format:$dateFormatShort} {/if}
{if count($article->getPublishedPublications()) > 1}

{translate key="submission.versions"}

    {foreach from=array_reverse($article->getPublishedPublications()) item=iPublication} {capture assign="name"}{translate key="submission.versionIdentity" datePublished=$iPublication->getData('datePublished')|date_format:$dateFormatShort version=$iPublication->getData('version')}{/capture}
  • {if $iPublication->getId() === $publication->getId()} {$name} {elseif $iPublication->getId() === $currentPublication->getId()} getBestId()}">{$name} {else} getBestId()|to_array:"version":$iPublication->getId()}">{$name} {/if}
  • {/foreach}
{/if}
{/if} {* Data Availability Statement *} {if $publication->getLocalizedData('dataAvailability')}

{translate key="submission.dataAvailability"}

{$publication->getLocalizedData('dataAvailability')|strip_unsafe_html}
{/if} {* Issue article appears in *} {if $issue || $section || $categories}
{if $issue}

{translate key="issue.issue"}

{/if} {if $section}

{translate key="section.section"}

{$section->getLocalizedTitle()|escape}
{/if} {if $categories}

{translate key="category.category"}

{/if}
{/if} {* PubIds (requires plugins) *} {foreach from=$pubIdPlugins item=pubIdPlugin} {if $pubIdPlugin->getPubIdType() == 'doi'} {continue} {/if} {assign var=pubId value=$article->getStoredPubId($pubIdPlugin->getPubIdType())} {if $pubId}

{$pubIdPlugin->getPubIdDisplayType()|escape}

{if $pubIdPlugin->getResolvingURL($currentJournal->getId(), $pubId)|escape} {$pubIdPlugin->getResolvingURL($currentJournal->getId(), $pubId)|escape} {else} {$pubId|escape} {/if}
{/if} {/foreach} {* Licensing info *} {if $currentContext->getLocalizedData('licenseTerms') || $publication->getData('licenseUrl')} {/if} {call_hook name="Templates::Article::Details"}