本站CMS系统升级为Joomla4之前,文章评论使用俄罗斯人开发的Jcomment免费版本,用了快十年,好用而且对之做了很多本地化适配。本打算继续使用,但过去的版本不再适合Joomla4,一大堆错误烦不胜烦。当然,Jcomment有支持Joomla4的最新版本,但要收费€49.9……为本站使用频率极低的评论扩展,花好几百人民币有点不划算😎

于是改弦易张,重新在Joomla扩展中寻找新的评论组件。一番搜索后,发现符合要求(文章评论+Joomla4+免费)只有以下4款:

查看说明与演示:

PopFeed只提供一个留言表单;Komento看界面很不错,但需要登录/注册后下载,而又无法注册……

CComment有阉割后的免费版本,而且官方提供的中文语言文件列表中,特别把taiwan表注为中国的一个省:

当然,这有可能是第三方汉化者特别标注,但不管怎样,反正因此而对之好感大增,果断下载安装。结果,,,并不好用:

  1. 前台只能使用英文界面,否则无法加载(为此大费周折,后来在支持论坛发现,使用其它语言的用户也出现这样的bug);
  2. 前台页面加载很多JS代码,加载缓慢而且容易出错;
  3. 有些好用的关键功能需要额外收费……

无奈,忍痛割爱。这样一来,符合要求的只剩下Akeeba Engage。原本,搜索时它排在第一位,而且早在2011年开始使用Joomla时,就知道有个Akeeba Backup扩展,专门为Jooma提供系统备份,可谓大名鼎鼎。但也正因如此,担心其名太盛,可能要捆绑一堆无用插件或者变相收费。再就是其评论界面太丑陋,,,还有,单纯不喜欢Akeeba这么个“奇怪”的名字……所以就放到最后才测试。没想到它,反而是最符合本站需要的评论组件:

  1. 果然是Joomla老牌扩展,该评论组件和Joomla系统完美匹配,连选项都整合到系统设置中;
  2. 原代码简洁、规范,完美兼容Joomla4+Bootstrap5,原生评论界面可以简单定制;
  3. 该有的基本功能全部免费,仅有个“垃圾评论自动识别”插件,需要额外购买Key;
  4. 编辑器、验证码等都使用Joomla系统自带,可以说简洁到了极点;
  5. 原安装包除了核心Engage组件外,还集成多达11种模块和插件,甄选后本站使用了其中6款;
  6. 对本站所用全部进行简体中文本地化适配,翻译、评论界面调整和定制中国大陆使用环境头像等。

至此,整个评论功能适配完毕,耗时1天省了几百块,也罢。有待使用测试后,根据情况再对界面和功能等进一步完善。

配套二次开发的验证码插件使用时,发现个评论验证码设置的逻辑问题:

也即在设置评论使用的验证码插件时,如果选择使用“全局设置”,除确保全局配置中已选择验证码插件,而且内容选项卡“编辑”中,也必须启用验证码。否则将导致文章评论界面不显示验证码,但提交评论时却无法通过验证。

要避免上述问题,此选项必须选择具体的验证码插件,而非选择使用“全局设置(验证码)”。即可选择在文章提交时无需验证码,但提交评论时单独使用所选验证码插件。

PS:测试过程还发现原程序有个小Bug:在后台评论编辑界面,“保存”和“保存并关闭”两个按钮的功能正好相反。虽不怎么影响使用,但很是别扭。

于是检索其代码,发现Engage组件使用Joomla标准按钮类,在\administrator\components\com_engage\src\View\Comment\HtmlView.php第101和102行,原代码的确有个小失误(apply和save没配套😅):

ToolbarHelper::apply('comment.save');
ToolbarHelper::save('comment.apply');

改过来即可:

ToolbarHelper::apply('comment.apply');
ToolbarHelper::save('comment.save');

一点感言

对不熟悉的Joomla扩展进行本地化适配,过程很煎熬,却是对该扩展最佳的学习过程。

一边测试一边汉化,比看任何帮助文件都好用。

有一点英文、Html及PHP语言基础即可,强烈推荐!

后台管理界面:

有 1 条评论