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