1、汉化问题
2、修改字体
3、增加一个scroll up 的图标
4、修改页脚logo
5、更换域名
6、更换服务器
1、备份ojs所有文件,包括files(如果列在别处);
2、备份数据库;
3、以上都可以通过宝塔面板进行;
4、在新服务器,通过宝塔面板新建网站,输入新网址,并申请ssl;(提前解析好);
5、将ojs所有文件上传到新网站文件夹;上传备份数据库,并导入;
6、注意修改config.inc.php内容如下:
1)修改网址,有两个地方:
base_url = "https://journals.chinesecs.cc"
allowed_hosts = "[\"journals.chinesecs.cc\"]"
2)修改数据库
name以及password修改成新数据库的名称与密码;
3)修改files路径(如果在根目录,可以不用修改)
如果不成功,如500错误,可能是文件解压不完全或者丢失,可以再次上传。
注意服务器环境:需要用apache
具体参考:
https://docs.pkp.sfu.ca/faq/en/site-administration#:~:text=How%20can%20I%20move%20an%20installation%20to%20a,the%20base%20install%20directory%20and%20non-public%20files%20directory
7、移除index.php
首先在config.inc.php中把restful_Url设置成on
其次,在htacess中加入:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
参考:https://docs.pkp.sfu.ca/faq/en/site-administration#how-can-i-remove-indexphp-from-the-urls-in-ojs
8、修改菜单字体大小
一般是在主题中修改相关代码,如healthscience主题,路径是:
~/plugins/themes/~/styles/components/header.less
9、修改custom style sheet
路径是~/public/journals/1(此为杂志所在文件夹);site中的sheet可以删除。
注意:修改css后,需要清除缓存。
10、升级ojs
(1)注意首先做好备份;
(2)新建文件夹,更改网站目录;
(3)上传新系统,解压;
(4)复制cache、files文件,覆盖;
(5)修改inc文件;
(6)修改install=on 为off;
(7)https://你的域名/ojs/index.php/install/upgrade
或者将cache、files、inc文件全部覆盖新系统?
1、新建文件夹
2、剪切旧文件到新建文件夹
3、原文件夹上传新系统
4、解压
5、复制旧Cache、files、plugins文件覆盖
6、复制其他文件如favicon、hitaccess
7、修改inc文件,主要是网址、数据库、文件夹
8、访问/index.php/index/upgrade
9、install=off 改成on
然后全部覆盖
不成功:全部覆盖?
如果出现上传错误,修改files权限为777
11、增加下载、浏览数量(如果是其他主题,参见下文)
文章页:
<section class="item abstract">
<span>
<h2 class="lable">Counts</h2>
{assign var=galleys value=$article->getGalleys()}
Views: {$article->getViews()}
{if $galleys}
{foreach from=$galleys item=galley name=galleyList}
/ Downloads: {$galley->getViews()}
{/foreach}
</span>
</section>
{/if}
templates/frontend/objects/article_details.tpl
列表页:
注意:只有官方默认主题才有效。
12、修改页脚(全部)
路径:/lib/pkp/templates/frontend/components
如增加在 {$pageFooter}增加:© 2025 is licensed under <a href="https://creativecommons.org/licenses/by/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer">CC BY 4.0 <img src="https://docs.pkp.sfu.ca/img/creativecommons.svg" alt="知识共享标志" /><img src="https://docs.pkp.sfu.ca/img/attribution.svg" alt="归因图标" /></a>
13、下载量汉化:
路径:/templates/frontend/objects
<section class="item abstract">
<span>
<h2 class="lable">{translate key="article.Counts"}</h2>
{assign var=galleys value=$article->getGalleys()}
{translate key="article.Views"}: {$article->getViews()}
{if $galleys}
{foreach from=$galleys item=galley name=galleyList}
/ {translate key="article.Downloads"}: {$galley->getViews()}
{/foreach}
</span>
</section>
{/if}
第一步:locale/en/locale
msgid "article.Counts"
msgstr "Counts"
msgid "article.Views"
msgstr "Views"
msgid "article.Downloads"
msgstr "Downloads"
第二步:locale/zh_CN/locale
msgid "article.Counts"
msgstr "统计"
msgid "article.Views"
msgstr "浏览"
msgid "article.Downloads"
msgstr "下载"
14、其他主题增加下载量
路径:/plugins/themes/classic/templates/frontend/objects
details.tpl: (放在 {call_hook name="Templates::Article::Main"}之后)
<span>
<h2 class="lable">{translate key="article.Counts"}</h2>
{assign var=galleys value=$article->getGalleys()}
{translate key="article.Views"}: {$article->getViews()}
{if $galleys}
{foreach from=$galleys item=galley name=galleyList}
/ {translate key="article.Downloads"}: {$galley->getViews()}
{/foreach}
</span>
</section>
{/if}
summary.tpl:(放在 {call_hook name="Templates::Issue::Issue::Article"}</article>之前)
{assign var=galleys value=$article->getGalleys()}
{translate key="article.Views"}: {$article->getViews()}
{if $galleys}
{foreach from=$galleys item=galley name=galleyList}
/ {translate key="article.Downloaded"}: {$galley->getViews()}
{/foreach}
{/if}
参加:https://forum.pkp.sfu.ca/t/how-to-get-total-pdf-downloads-count-in-ojs-3-3-x-x/70449/7
15、开启文章下载量图示
在website主题设置中打开
汉化Downloads
在locale增加:plugins.themes.healthSciences.displayStats.downloads
为“下载”
其他主题改为:msgid "plugins.themes.classic.displayStats.downloads"
msgstr "下载"
16、给期刊图片增加阴影
1)journals主页:~/plugins/themes/default/styles/pages/indexSite.less
增加:
box-shadow: 6px 5px 5px -4px rgba(0, 0, 0, 0.37);
width: 100%;
border: 1px solid #e0dddd;
2)其他主题,如classic
~/plugins/themes/classic/less/objects/issue-summary.less
以及issue-toc.less
17、文章页面增加“基金项目”
/plugins/themes/classic/templates/frontend/objects/article_details/tpl
在keywords下面增加如下代码:
/locale/en
msgid "submission.supportingAgencies"
msgstr "Funding & Acknowledgements"
zh_hans
msgid "submission.supportingAgencies"
msgstr "基金项目与致谢"
参考:https://forum.pkp.sfu.ca/t/ojs-3-3-0-6-show-supporting-agencies-field-on-article-abstract-page/67758/4
以上主要针对ojs 3.4。
18、修改期间集成页面页脚。
实用default主题:plugins/themes/[你的主题名]/templates/frontend/components/footer.tpl
可从 lib/pkp/... 复制一份到主题目录再修改。
然后删除代码: <img alt="{translate key="about.aboutThisPublishingSystem"}" src="{$baseUrl}/{$brandImage}">
19、升级后报错
需要使用default主题,删除旧主题(应该是修改了代码导致出错),再安装新主题使用。
20、升级后报错
代码:ojs系统错误:Deprecated: Using unregistered static method "PKP\components\forms\site\PKPSiteConfigForm::FORM_SITE_CONFIG" in a template is deprecated and will be removed in a future release. Use Smarty::registerClass to explicitly register a class for access. in
Ini, TOML
; Show PHP errors, notices and warnings in browser output.
display_errors = Offshow_stacktrace = Off
21、OJS 3.5 系统升级
1、需要使用默认default主题,使用其他主题一开始会出错;可以先删除其他主题,再安装一遍(之前的美化、修改会消失);
2、如果出现错误提示,可以关闭error提示;
3、使用quicksubmit不能直接出版,还需要回到编辑页面;
4、ORCID不能手动输入链接,只能让作者验证;
5、在user一栏设置orcid api,可以在orcid官网developer申请,可以输入多个返回url;
6、自己投稿不能直接出版,可以换一个管理员账号登录后才能出版;
7、出版按钮改成schedule;
8、升级后citationstylelanguage插件不见了,可以从源文件将安装包上传到服务器,删除系统缓存就可以出现;
9、 3.5系统中文为Chinese (Simplified),要把 (Simplified)去掉,使用如下方式:
用 Custom Header
<script>
document.addEventListener("DOMContentLoaded", function() {
// 检查当前是否在英文界面下
if (document.documentElement.lang === "en" || window.location.pathname.includes("/en/")) {
// 查找下拉菜单中的简体中文选项
var zhOption = document.querySelector('select option[value="zh_CN"]');
if (zhOption && zhOption.textContent.includes("Chinese (Simplified)")) {
zhOption.textContent = "Chinese";
}
// 扩大范围:替换页面中可能残余的文本链接
document.body.innerHTML = document.body.innerHTML.replace(/Chinese \(Simplified\)/g, "Chinese");
}
});
</script>
10. 修改中文页面:期25为No. 25
路径:/locale/zh_Hans/locale.po
msgid "issue.number"
msgstr "No."
msgid "issue.no"
msgstr "No."
22、全站增加分享图标
在custom header插件增加代码:
【header】
<script type="text/javascript" src="https://platform-api.sharethis.com/js/sharethis.js" defer></script>
【footer】
<!-- ShareThis BEGINS -->
<div class="sharethis-share-buttons" data-type="sticky-share-buttons" data-alignment="right" data-labels="cta" data-show_total="false">
<span data-network="facebook"></span>
<span data-network="twitter"></span>
<span data-network="email"></span>
<span data-network="wechat"></span>
<span data-network="sharethis"></span>
</div>
<!-- ShareThis ENDS -->
23、Top与去除Chinese (Simplified)冲突,改成以下代码:
<button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
<script>
(function() {
// ==========================================
// 1. 文本替换逻辑:将 Chinese (Simplified) 替换为 Chinese
// ==========================================
function removeSimplifiedText() {
if (document.documentElement.lang === "en" || window.location.pathname.includes("/en/")) {
// 替换链接/按钮中的文本
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
if (links[i].textContent.includes('Chinese (Simplified)')) {
links[i].innerHTML = links[i].innerHTML.replace('Chinese (Simplified)', 'Chinese');
}
}
// 替换其他零散文本
var elements = document.querySelectorAll('option, span, div, p');
elements.forEach(function(el) {
if (el.children.length === 0 && el.textContent.includes('Chinese (Simplified)')) {
el.textContent = el.textContent.replace('Chinese (Simplified)', 'Chinese');
}
});
}
}
// 安全地监听页面加载
document.addEventListener("DOMContentLoaded", removeSimplifiedText);
window.addEventListener("load", removeSimplifiedText);
// ==========================================
// 2. 返回顶部(Top)逻辑 —— 使用安全监听,不冲突
// ==========================================
// 这里使用 DOMContentLoaded 确保页面加载完能抓到 myBtn 元素
document.addEventListener("DOMContentLoaded", function() {
let mybutton = document.getElementById("myBtn");
if (!mybutton) return;
// 使用 addEventListener 替代原本的 window.onscroll,完美解决冲突
window.addEventListener('scroll', function() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
mybutton.style.display = "block";
} else {
mybutton.style.display = "none";
}
});
});
})();
// 全局函数,确保按钮上的 onclick="topFunction()" 能够顺利调用
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
</script>
24、期刊页面显示DOI链接
插件doiInsummary无效,只好增加代码:
路径:plugins/themes/你的主题名/templates/frontend/objects/article_summary.tpl
在 {call_hook name="Templates::Issue::Issue::Article"}
</div>上面添加代码:
{* OJS 3.5 目录页专用:获取当前文章的已激活 DOI 字符串 *}
{assign var=publication value=$article->getCurrentPublication()}
{if $publication && $publication->getData('doiObject')}
{assign var=doiObject value=$publication->getData('doiObject')}
{assign var=doiResolvingUrl value=$doiObject->getResolvingUrl()}
{if $doiResolvingUrl}
<div class="article-summary-doi" style="margin-top: 5px; font-size: 0.9em;">
<span class="label"><strong>DOI:</strong></span>
<a href="{$doiResolvingUrl|escape}" target="_blank">{$doiResolvingUrl|escape}</a>
</div>
{/if}
{/if}
增加浏览器、下载量代码失败。
25、文章页两端对齐
路径:plugins/themes/classic/less/typography.less
p, li, a, blockquote
加入如下代码:
text-align: justify;
26、部分汉化
路径:/locale/zh_Hans/locale.po
msgid "about.onlineSubmissions.submitToSection"
msgstr "向<a href=\"{$url}\"> {$ name} </a> 栏目投稿。"
{$ name} 改成:{$name}
这样投稿页完整显示栏目信息.
msgid "about.submissions"
msgstr "稿件"
改成:投稿
这样栏目显示成:投稿,而非稿件。
参考:
https://dev.bdhostit.com/category/ojs/
PKP社区:
https://forum.pkp.sfu.ca/








