简介:Vanilla Forums是一套PHP+MySQL开源论坛。它的特点在于各种配置,功能,操作界面风格(Themes)都很简洁,素雅。另外Vanilla默认会在首页中直接列出所有贴子,按照时间顺序,把最新的讨论贴放在最前面和概念中的论坛相比更加像博客。Vanilla所有的功能和模块都是通过应用(Applications)和插件(Plugins)来实现,是一款灵活的轻量级论坛程序。
这两天都是在捣鼓这个东西,再加上家里有人来装修什么的,原本的计划都被打乱了。最初看到Vanilla Forums(注 目:不是吃的草莓……)是在煎蛋最初的论坛上面,当然那时还不知道这就是Vanilla Forums,正式知道叫做Vanilla Forums还是在09年的时候,当时在家无聊,于是就想搭个论坛玩玩什么的(当然后来并没有实行),当时国内的主流论坛程序大概有下面这些 吧:PHPwind 、Discuz、Dvbbs 、BBSMAX、BBSXP等,但一直以来都觉得这些论坛程序大多都是臃肿恶心的,尤其是当时SNS大行其道,有些论坛自然也连SNS也功能也整合进去了 实在是无法忍受,现在回看,这些论坛带SNS的模式没有多少个是成功的。而我心中的论坛,外观上最起码应该是百度贴吧或者天涯或者水木清华或者小百合那样 的,方便简单、明了直观。
于是就看看国外的开源程序,主流的有phpBB、MyBB、UseBB等,但这些离我心目中轻量级还有一段距离,于是就想到了早期在煎蛋看到过的讨 论区,那时候再去煎蛋,煎蛋已经弃用了Vanilla。不是很甘心,于是上php-open上面查看一下有什么收获没有,果然发现了Vanilla Forums的踪迹,当时Vanilla Forums的版本是1.1.9,界面如下,搭建后放了上一个空间商,发了一些帖子。但后来因为去了工作繁重的阿里同盟上班也就不了了之了。
两天前在网上看到有人在提及这个东东,于是就点上官网上看看。哈一上去就是惊喜Vanilla Forums已经升级为2.0.16版本了,界面依然简介,虽说界面上比1.1.9版豪华了那么一点,但依然没有违背简约这个原则。最后还是将其下载下来 摆弄了一两天,哈哈,最后分享一下这两天的中文配置经验和心得吧,不算完整也不完善,纯分享而已。Vanilla Forums下载地址:http://vanillaforums.org/download
安装环境,php4.1+和MySQL,这个不多说了。
新安装的Vanilla Forums会自动开启两个应用,Vanilla和Conversations,其 中Vanilla是核心应用,禁用之后论坛不能被访问,看到有说官方有提供1.0版本和2.0版本Vanilla应用,不过找过1.0版本 的;Conversations是用户之间发私信的应用,禁用后不影响论坛使用,但用户之间则不能互发私信,而且Conversations可以提供多个 用户之间相互聊天的功能,有点像多人聊天室。
中文语言包,国外的东西默认语言当然不会是中文了,但国内也有热心人士提供了中文语言包,下载地址是:点击这里。具体启用方法是:
解压文件后,将zh_CN文件夹移动的网站locales里边;
然后修改config/config.php文件中$Configuration['Garden']['Locale']选项;
改成$Configuration['Garden']['Locale'] = ‘zh-CN’;,如没有看到改选项的话就自己添加;
然后进入管理后台启用中文语言,注意是先修改后启用。
评价,该语言包翻译了前台绝大部分语言,我发现有一两个是遗漏的,当然如果添加了一些插件,则可能会不能全部翻译,这是可以自己通过修改语言包来达 到目的。后台作者并没有翻译完整,不过对于老手老说英文后台不是太碍事,实在不行的话Google翻译一下大概能知道真正的意思。
时区,程序是通过读取php.ini这个配置文件来确定时区的,所以用户可以通过修改php.ini来修改成东8时区,如果不能修改php.ini的话,可以通过修改bootstrap.php来改成东8时区
找到bootstrap.php文件;
找到// Make sure a default time zone is set
if (ini_get(‘date.timezone’) == ”)
date_default_timezone_set(‘America/Montreal’);
改成// Make sure a default time zone is set
//if (ini_get(‘date.timezone’) == ”)
// date_default_timezone_set(‘America/Montreal’);
date_default_timezone_set(‘Asia/Hong_Kong’);
其实就是屏蔽了原有判断语句改为直接使用香港时区。
中文用户名,论坛使用邮箱注册,可以自定义用户名,但默认只能是英文的,可以通过以下方法来实现定义中文用户名
找到functions.validation.php文件
找到ValidateUsername函数,将函数中的正则表达式改成‘/^([dw_x80-xff]{3,20})?$/si’
使用中文名之后会出现一些小问题,比如产看中文名用户资料页面会出现错误,原本@加上用户名之后可以通知被@的用户还有点击可以跳转到用户资料页 面,但对中文名用户失效,原有#加上英文单词可以跳转到搜索页面,类似话题模式,但论坛本身本没有识别中文分词什么的,所以#之后加上中文内容不能点击进 行搜索,下面提供解决方案
/profile/用户名 可以访问到用户资料
找到applications/dashboard/models/class.usermodel.php文件
将$User = $this->SQL->Where(‘u.Name’, $Username)->Get()->FirstRow();