Joomla/用SJSB桥接器无缝整合Joomla!1.5.9、SMF2.0论坛
SMF是Simple Machines Forum的缩写,这是一款由加拿大人开发的php+MySQL结构的独立论坛程序。本条目详细介绍通过SJSB桥接器无缝整合 Joomla! 1.5.9 与 SMF 2.0 RC1 论坛的过程。
SJSB桥接器介绍[ ]
SJSB 是 Simple Joomla! 1.5.x / SMF 2.x Bridge 的简称,这是由意大利人 Nicola Ferruzzi(昵称 ilwoody)开发的一款桥接器。
SJSB 发展历程简介:2008年1月22日 Joomla! 1.5 stable 诞生。当时在 J1.5 平台上几乎没有什么论坛解决方案。大家都把目光投向了 SMF 官方(他们曾发布过针对 J1.0 的 Orstio 桥接器),但是很快 Simple Machines 官方网站却发表了停止开发 Joomla 桥接器的消息。众人扼腕之际,ilwoody 大侠一语惊人:我要自己开发桥接器了。很快 iwoody 就在 Google Code 上面注册了新专案 SJSB。
SJSB桥接器安装及启用[ ]
安装SMF论坛程序[ ]
首先选择安装位置。一般来说,我们建站时都以Joomla为核心,Joomla是安装在网站根目录的。那么,我们可以在根目录下新建一个目录叫smf或forum或bbs,然后把SMF 2.0的安装包上传到该目录中。
接下来通过浏览器直接访问 SMF 所在目录就能启动安装界面。在第一个画面右上角选择 chinese-simplified-utf8 就能看到简体中文界面。在安装过程中要注意以下四点:
- 不要选择 Gzip 输出(如下图所示)
- 必须选择 UTF-8 编码
- 最好与 Joomla! 1.5 安装在同一个数据库中
- SMF 的管理员帐号(用户名及 email)不能与 Joomla 中的任何用户有重复。
按照屏幕提示,很快就能完成 SMF 论坛程序的安装。最后就能看到独立运行的 SMF 论坛页面。由于 SJSB 桥接器目前版本的功能还不够完善,因此我们在安装完 SMF 之后,还要更改两项 SMF 的默认设置,才能使桥接器顺利工作:
- 进入 SMF 后台,在“功能与选项 -> 选项”这里,将“搜索引擎使用的 URLs”一项取消勾选
- 在“主机设置 -> 功能选项”这里, 取消“使用区域性存储的 cookies”这一项的钩选
安装整合用的SMF Mod[ ]
现在就要用到 SJSB 桥接器了。我们先解压从 Joomla 之门 网站下载到的 SJSB 桥接器大礼包,可以看到里面包括下面6个文件:
- com_sjsb-1.0.14a.zip
- mod_sjsb_ssi-1.0.14a.zip
- plugin_sjsb_authentication-1.0.14a.zip
- plugin_sjsb_sessions-1.0.14a.zip
- plugin_sjsb_user-1.0.14a.zip
- smfmod-1.0.14a.zip
其中前5个文件都是 Joomla 标准扩展,包括一个组件,一个模块,三个插件;最后一个则是 SMF 插件。也就是说,smfmod-1.0.14a.zip 这个文件必须通过 SMF 的管理后台来安装。
对于熟悉 SMF 论坛程序的用户来说,这并不是什么难事。在 SMF 2 平台上,后台界面与 1.1.x 系列稍有不同,后台默认是多级滑动菜单。安装插件的命令如下图所示:
该插件安装之后立即生效,无需进一步设置。
安装SJSB桥接器[ ]
以管理员身份登录到 Joomla! 1.5.9 后台,依次安装上面文件列表中剩下的5个文件。进入 Joomla 后台的“插件管理”,将刚才安装的3个 SJSB 插件都启用。这3个插件没有任何参数,启用即可。点击 Joomla 后台菜单的“组件 -> Simple Joomla! 1.5.x / SMF 2.x Bridge”就进入了 SJSB 桥接器的设置页面:
参数设置[ ]
第一个参数当然要选“是”,否则我们装这个桥接器做什么?
第二个参数就是 SMF 论坛程序的安装位置。必须是绝对路径!
第三个参数有点不好理解。这里的 ItemID 就是指菜单项目的 ItemID。之所以用了一个“主”字,是因为 SJSB 桥接器为创建菜单提供了多种选择,用户可以创建不同的菜单项目,例如指向论坛首页的,指向用户注册页面的,指向“取回密码”页面的,等等。所谓“主”,就 是你将哪个菜单项目作为最主要的那个。默认这里填写 -1,但我们知道,Joomla 里面并不存在 ID 为 -1 的菜单项目。因此如果你不更改,SJSB 就会自动选择指向 com_smf (SJSB 组件的名称)的第一个菜单项目。要想填写真正准确的 ID,就必须先创建一个菜单,然后就得到了真实的 ID,再填写到这里。
下面几个参数都建议选择“是”。
1.“同步用户”这个很好理解,就是将 Joomla 里面的用户与 SMF 里面的用户同步起来,以便实现同步登入、登出。
2.接下来有3个“发送”开头的参数,指的是将SMF页面的HTML代码插入到 Joomla 模板中去。因为 SJSB 桥接器要在 Joomla 的模板中嵌入显示 SMF 论坛页面,就必须让 Joomla 知道一些 SMF 的数据,例如CSS,否则论坛页面的样式就会自动套用 Joomla 模板的 CSS,那就破坏了论坛的外观了。至于 Meta 数据等,也都建议“发送”。
3.如果你还有特殊的代码需要插入到 Joomla 模板中(只在显示论坛页面时生效),就将代码填写到最后的“自定义页头”输入框里面。这部分输入的代码最终插入的位置是页面源代码里面的 <head> 部分。
SJSB多功能模块的设置和发布[ ]
1.SJSB 桥接器自带的 mod_sjsb_ssi-1.0.14a.zip 模块是一个多功能模块,它可以扮演多个角色,例如:登录模块;在线会员模块;最新帖子模块;最新话题模块;“发帖最多的会员”模块,等等。SJSB 桥接器目前已能支持 Joomla 自带的 mod_login 登录模块,而 mod_sjsb_ssi 也能扮演“登录”模块。到底选择哪一个就看你的个人喜好了。
2.建议到 Joomla 后台的“全局设置”中,将“允许用户注册”的选项关闭。让前台访客统一通过 SMF 论坛来注册帐号。这样做的另一个好处是:SMF 的注册页面已经自带了图片验证码功能。
3.最后,就是创建一个指向 SJSB 桥接器的菜单项目。在创建菜单时,有很多选择,建议选择“论坛 - default 布局”,这一项表示指向论坛首页。
现在,整个桥接过程就结束了。你刷新网站前台,点击新建的论坛菜单,就能看到 SMF出现在 Joomla 模板里面了。—— 这就是说,外观整合已经轻松实现了。