留言簿诞生记 打印 E-mail

谨以此文,纪念本小站留言簿艰难的诞生历程。

今天,我的《宫爆 PKI》在松鼠会发表啦!呵呵,高兴之余,想到小站人气有可能会暂时脱离“搜索引擎-only”的情形,于是决定更新点东西。弄个什么好呢?弄个留言簿吧。

小站,搭在 hostmonster 上,使用 Joomla 1.5.9。我关联起留言簿来一找,easybook 2.0 首当其冲成为第一候选——支持验证码、审核、邮件通知、回复、关键词过滤。

闲话少说,我直接到 Joomla 官方扩展站,找到 easybook 及其依赖的 easycaptcha,准备好了下载链接。进入小站管理后台,将其安装进去。

问题来了。

成功装完之后我发现,我根本找不到有跟 easybook 有关系的任何东西,没有组件,没有模块。这可如何是好呢?我明明看到,别人可以在页面上弄出来“最新留言”的嘛。无奈,还是去搜吧,“肯定是个弱智的问题……”,在搜索框里写诸如“joomla easybook 怎么用”总不是一件很愉快的事情。如果说找到也就罢了,但就这样,我仍然没有找到怎么用(囧),似乎别人都很容易地、理所当然地用的不亦乐乎。为啥我就不会呢?难道是传说中的人品问题?

忽然想到很久以前,始建站时,曾发现过一处世外桃源——对了,就是菜单那个鬼东西。没错,easybook 提供了两种菜单项,并没有提供任何的模块。添加了一个标准格式的留言簿菜单项,这留言簿就初见雏形了。

验证码不显示。

这个挺难说是怎么回事的。我试着将各处的开关打开又关上,毫无反应,并且 easycaptcha 的菜单项给出一个令人沮丧的“false”。碰巧,我在单独页面打开验证码图片是,看到了一行字。

File is writable by others, please fix permissions and try again.

原来是这么一回事儿啊,脚本权限太大了。好吧,ssh 上去,找到那个有问题的脚本文件(components/com_easycaptcha/captchas/<CAPTCHA_NAME>/captcha.php),给它来个 chmod 644,嘿嘿,这就搞定咯。

一开始搜索 easybook 的时候,我就已经发现有现成的简体中文版了,但是想要得到并不是很容易,所以我干脆装了个英文原版的。反正也不是很多很麻烦,自己翻译就好了嘛。大概一看,翻译工作非常之简单,英文翻译模板就在 language/en-GB/en-GB.com_easy*.ini (前台),改一份儿中文的,换个名字放到中文文件夹里就搞定了——不得不赞一把 Joomla 的设计。自己翻译有自己翻译的好处,可以很自由地用自己的话,比如“你又用不文明用语了是不是”之类的。

基本上来说,easybook 还是很好用的——截止到目前为止。当我留了一段中文的话时,方块字都变成了恼人的小问号——我跟编码问题纠缠可是有点历史了,见着这个实在没什么惊讶之感,只是暗自抱怨作者太不注重 l18n 了。试着查了查源代码,没有发现任何线索。又跟着网上的人,改了改“自动换行”,偶数的长度限制,无果——似乎 2.0 是个新版本,不吃那一套。来来回回无数次,几乎网上线索将要耗尽时,发现一大哥说,数据库编码被搞错掉了。半信半疑,打开 phpMyAdmin 一瞅,我晕还真是,几张表及其字段都用上了 latin1。看来,英文原版的包里面,数据库初始化语句就已经有这个问题了。唉,谁让人家外国人写的,就用自己的编码呢,改吧。我是一个一个字段的改啊,光改了表都不够,那可是真不容易,强烈告诫后人,安装之前,一定将数据库初始化语句改了。

好了,编码问题没有了,看着也舒坦(废话,问号能看懂吗)。

最后,用 RSS 的方式,把“最新留言”放到想放的地方,这留言簿就算是搞定了。