我是TPL(Smarty)的新手,但多年来一直在使用PHP。
是否有自定义OJS的路线图/指南?
据我所知,这将涉及一个PHP脚本来检索/分配信息,然后是一个TPL脚本来实际显示信息。
由于 彼得拉什
答案 0 :(得分:1)
有关参考资料,请参阅OJS快速参考和OJS技术参考,两者均可在此处获取:https://pkp.sfu.ca/wiki/index.php?title=OJS_Documentation
通过"作者的查看页面",我假设您的网页名称为http://.../index.php/[journalPath]/authors/view
。由于OJS存储作者记录的方式,修改这些以包括作者传记可能很困难。
每篇文章可能有几位作者,并且作者记录没有消除歧义 - 两篇文章与#34; Joe Smith"作为作者,authors
表中将有两个不同的条目。目前在作者列表中,消除歧义是通过匹配相同的名字,姓氏,所属关系和国家来完成的。 (请参阅pages/search/SearchHandler.inc.php
函数中的authors
以获取执行此操作的代码。)许多作者记录可能与这组数据匹配,每个数据都可能与其自己的传记数据匹配。
以这种方式存储数据的原因是允许用户'要发展的身份 - 它们可能会改变姓氏,在机构之间移动等等 - 而不会影响现有出版物的元数据,而这些元数据不应该改变。
如果您想确定单个传记声明,您需要决定如何从可能与上述数据集匹配的许多声明中选择生物声明。完成后,显示它就像将值分配给模板一样简单:
$templateMgr->assign('myVariableName', $somePhpVariable);
...然后在templates/search/authorDetails.tpl
模板中使用该变量:
{$myVariableName|strip_usnafe_html}
仅供参考,我们未来的计划包括使用ORCiD等第三方标识符来消除作者身份的歧义;但是,到目前为止,我们的ORCiD集成非常有限。在当前版本中,用户和作者可以输入他们的ORCiD,以便他们与用户和作者记录一起存储。