joomla模板设计与二次开发
English French German Italian Portuguese Russian Spanish

捐款 -> 升级 -> 下载

淘宝捐款获取下载权限

点击这里给我发消息

Donate to joomlagate.com to translate more Joomla! extensions and free Joomla! templates

文章分类阅读

下载最新版本 Joomla!

会员登录

Joomla之门 Joomla教程 Joomla! 1.5 教程 用 SJSB 桥接器无缝整合 Joomla! 1.5.9 + SMF 2.0 论坛
用 SJSB 桥接器无缝整合 Joomla! 1.5.9 + SMF 2.0 论坛 E-mail
作者:白建鹏   
2009-03-25

SMF 是 Simple Machines Forum 的缩写,这是一款由加拿大人开发的 php + MySQL 结构的独立论坛程序。SMF 与著名的 VBB、IPB、phpBB 等齐名,都是历史悠久、粉丝众多的强大论坛程序。细心的读者或许已经注意到了,本站的 Joomla 中文论坛 就是由 SMF 论坛搭建的。我曾撰文介绍过 用 JSMF 桥接器整合 Joomla! 1.0.x 与 SMF 1.1.x 论坛 的方法。 该文发表后不久,SMF 官方就开始了 SMF 2.x 系列版本的研发。SMF2 是革命性的版本,功能有大幅提升,最近已进入 RC 版本。幸运的是,相关的整合技术也日臻成熟。因此,今天本站再发教程,详细介绍通过 SJSB 桥接器无缝整合 Joomla! 1.5.9 与 SMF 2.0 RC1 论坛的过程。

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 桥接器的进展,并一直参与测试工作。SJSB 的早期版本 bug 很多,因此本站只是在论坛稍作介绍,并未撰写详细整合教程。最近,SJSB 1.0.14a 版本发布,经测试证明可以顺利实现无缝整合。因此有了今天这篇文章。

 

SMF2 Wrapped inside Joomla! 1.5.9
SMF2 Wrapped inside Joomla! 1.5.9

 

SJSB 桥接器安装及启用

 

整合过程所需的软件:

  1. Joomla! 1.5.9 中文版
  2. SMF 2.0 RC1 中文版
  3. SJSB 桥接器中文版

 

第一步:安装 Joomla! 1.5.9

请参看《7步完成 Joomla! 1.5 安装》

 

第二步:安装 SMF 论坛程序

首先选择安装位置。一般来说,我们建站时都以 Joomla 为核心,Joomla 是安装在网站根目录的。那么,我们可以在根目录下新建一个目录叫 smf 或 forum 或 bbs,然后把 SMF 2.0 的安装包上传到该目录中。 

接下来通过浏览器直接访问 SMF 所在目录就能启动安装界面。在第一个画面右上角选择 chinese-simplified-utf8 就能看到简体中文界面。在安装过程中要注意以下四点:

  1. 不要选择 Gzip 输出(如下图所示)
  2. 必须选择 UTF-8 编码
  3. 最好与 Joomla! 1.5 安装在同一个数据库中(经测试,SJSB 支持 Joomla 与 SMF 各自安装一个数据库的情况,但是笔者认为安装到同一个数据库更合理)
  4. SMF 的管理员帐号(用户名及 email)不能与 Joomla 中的任何用户有重复。

 

No Gzip when install SMF
No Gzip when install SMF

按照屏幕提示,很快就能完成 SMF 论坛程序的安装。最后就能看到独立运行的 SMF 论坛页面。

由于 SJSB 桥接器目前版本的功能还不够完善,因此我们在安装完 SMF 之后,还要更改两项 SMF 的默认设置,才能使桥接器顺利工作:

  1. 进入 SMF 后台,在“功能与选项 -> 选项”这里,将“
  2. 在“主机设置 -> 功能选项”这里, 取消“使用区域性存储的 cookies”这一项的钩选 
  3.  

第三步:安装整合用的 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 系列稍有不同,后台默认是多级滑动菜单。安装插件的命令如下图所示:

 

Install a Mod on SMF
Install a Mod on SMF

该插件安装之后立即生效,无需进一步设置。

 

第四步:安装 SJSB 桥接器

以管理员身份登录到 Joomla! 1.5.9 后台,依次安装上面文件列表中剩下的5个文件。

进入 Joomla 后台的“插件管理”,将刚才安装的3个 SJSB 插件都启用。这3个插件没有任何参数,启用即可。

点击 Joomla 后台菜单的“组件 -> Simple Joomla! 1.5.x / SMF 2.x Bridge”就进入了 SJSB 桥接器的设置页面:

config SJSB bridge
config SJSB bridge

第一个参数当然要选“是”,否则我们装这个桥接器做什么?

第二个参数就是 SMF 论坛程序的安装位置。必须是绝对路径!

请注意:我的测试平台是 WinXP + XAMPP 服务器,因此这里的 SMF 安装路径就填写了 Windows 格式的绝对路径。如果你在 Linux/Unix 服务器上安装,就要填写 Unix 格式的绝对路径。

第三个参数有点不好理解。这里的 ItemID 就是指菜单项目的 ItemID。之所以用了一个“主”字,是因为 SJSB 桥接器为创建菜单提供了多种选择,用户可以创建不同的菜单项目,例如指向论坛首页的,指向用户注册页面的,指向“取回密码”页面的,等等。所谓“主”,就 是你将哪个菜单项目作为最主要的那个。默认这里填写 -1,但我们知道,Joomla 里面并不存在 ID 为 -1 的菜单项目。因此如果你不更改,SJSB 就会自动选择指向 com_smf (SJSB 组件的名称)的第一个菜单项目。要想填写真正准确的 ID,就必须先创建一个菜单,然后就得到了真实的 ID,再填写到这里。例如:我测试时得到的菜单项目 ItemID 是 67,我就填写了 67。

下面几个参数都建议选择“是”。

“同步用户”这个很好理解,就是将 Joomla 里面的用户与 SMF 里面的用户同步起来,以便实现同步登入、登出。

接下来有3个“发送”开头的参数,指的是将 SMF 页面的 HTML 代码插入到 Joomla 模板中去。因为 SJSB 桥接器要在 Joomla 的模板中嵌入显示 SMF 论坛页面,就必须让 Joomla 知道一些 SMF 的数据,例如 CSS,否则论坛页面的样式就会自动套用 Joomla 模板的 CSS,那就破坏了论坛的外观了。至于 Meta 数据等,也都建议“发送”。

如果你还有特殊的代码需要插入到 Joomla 模板中(只在显示论坛页面时生效),就将代码填写到最后的“自定义页头”输入框里面。这部分输入的代码最终插入的位置是页面源代码里面的 <head> 部分。

 

第五步:SJSB 多功能模块的设置和发布

SJSB 桥接器自带的 mod_sjsb_ssi-1.0.14a.zip 模块是一个多功能模块,它可以扮演多个角色,例如:登录模块;在线会员模块;最新帖子模块;最新话题模块;“发帖最多的会员”模块,等等。

SJSB 桥接器目前已能支持 Joomla 自带的 mod_login 登录模块,而 mod_sjsb_ssi 也能扮演“登录”模块。到底选择哪一个就看你的个人喜好了。

另外,建议到 Joomla 后台的“全局设置”中,将“允许用户注册”的选项关闭。让前台访客统一通过 SMF 论坛来注册帐号。这样做的另一个好处是:SMF 的注册页面已经自带了图片验证码功能。

遗憾的是,在我测试时,一旦启用 mod_sjsb_ssi 网站前台就出错。我只好禁用这个模块,以便继续测试 SJSB 桥接器对“用户同步”和“外观整合”这两个最重要功能的实现。

 

最后,就是创建一个指向 SJSB 桥接器的菜单项目。在创建菜单时,有很多选择,建议选择“论坛 - default 布局”,这一项表示指向论坛首页。

现在,整个桥接过程就结束了。你刷新网站前台,点击新建的论坛菜单,就能看到 SMF 乖乖地出现在 Joomla 模板里面了(见文章开头的插图)。—— 这就是说,外观整合已经轻松实现了。

接下来,我分别使用 Joomla 里面的用户帐号和 SMF 安装过程中所设置的用户帐号登录论坛,都能顺利登入。 —— 这说明“用户同步”也实现了。

 

 下载 SJSB for J1.5 论坛桥接器 1.0.15a Dev2 多国语言版大礼包
文件标题: SJSB for J1.5 论坛桥接器 1.0.15a Dev2 多国语言版大礼包 (详情)
文件类型: zip
版本: 1.0.15a Dev2
文件大小: 111 Kb
下载次数: 353
 

 下载 Simple Machines Forum(SMF2)论坛程序 2.0 RC4 多国语言版
文件标题: Simple Machines Forum(SMF2)论坛程序 2.0 RC4 多国语言版 (详情)
文件类型: zip
版本: 2.0 RC4
文件大小: 3.19 MB
下载次数: 588

{mospagebreak_scroll heading=SJSB 桥接器安装及启用&title=SJSB 整合法深入探讨}

SJSB 整合法深入探讨

 

1、你是否需要 SJSB 整合法?

到目前为止,能够整合 SMF 论坛到 Joomla 1.5 平台的,除了 SJSB 桥接器,还有 JFusionJ2SMF,前者只支持 SMF 1.1.x,后者虽然支持 SMF2 但只有外观整合,不能实现用户同步。

或许以后还会有别的同类桥接器,或者上述两个继续改善。不过,我认为你首先要回答的问题是:你是否喜欢 SMF 论坛程序?因为有很多国内网民都喜欢 Discuz 论坛。如果你不是 SMF 论坛的忠实用户,就不要“爱屋及乌”,仅仅因为有一个可行的整合方案就选择 SMF。如果你是 phpBB 的 fans,不妨考虑一下 通过 Rokbridge 桥接器整合 phpBB3 论坛

其次,你需要回答的问题是:你真的需要整合外部独立论坛程序吗?因为到目前位置,我们已知有多款针对 Joomla! 1.5.x 平台的标准论坛组件诞生,包括 Agora Olympus, KunenaFBBccBoard。如果你的论坛规模并不大,所要的功能也不复杂,我建议你还是选择一款论坛组件。毕竟桥接器方案以后可能发生一些意想不到的情况。

 

2、SJSB 桥接器当前存在的不足:

  • 对 Joomla 内建 SEF 的支持还不完善;
  • 还没有讨论触发器(discussbot)和全站搜索插件;
  • 多功能模块似乎还有些问题;
  • 不能支持 Joomla 的登录模块;
  • 不能支持 Community Builder 的登录模块;
  • 不能自动接受 Joomla 的管理员为 SMF 的管理员用户;
  • 无法与 Joomla 的积分管理组件挂接;
  • 无法阻止访客直接访问 SMF 的安装目录;

 

3、使用 SJSB 桥接器的几点提示

  • 由于在 SJSB 参数中需要填写“绝对路径”,因此如果你用 JoomlaPack 或其它工具迁移整合后的网站,那么别忘记在迁移之后重新修改绝对路径;
  • 如果要通过 Joomla 自带的 mod_login 模块登录,就必须在 SJSB 桥接器组件的参数中启用“登录时同步用户”一项。
  • 目前 SMF 2.0 还只是 RC1 版本,SJSB 也只是 alpha 版本,因此请勿在正式网站应用此方案;
  • 如果你的 Joomla 模块中有某些左侧或右侧模块发布到“全部”页面,那么建议进入后台的“模块管理”,将这些两侧的模块从“全部”修改为“除外论坛页面”。这样就能使论坛页面占据整个模板宽度,就如同本文第一章插图演示的那样。
  • SMF 有很多插件可以增强其功能。但是,这些插件几乎都只支持默认模板(这种内容与样式没有完全分离的错误设计本站以前曾经撰文批评过)。因此 Joomla 之门 强烈建议你只使用 SMF 的默认模板。如果你想要安装自己喜欢的其它模板(点击此处下载你喜欢的 SMF 模板),那么在安装其它 SMF 插件(包括 SJSB 配套的这个插件)时,请注意事先检查是否支持你的自定义模板,是否需要手动安装。

 

4、Joomla 之门为何一贯推崇 SMF 论坛程序?

我在回答本站会员“山人”在论坛提出的“请问为什么Joomlagate会选择SMF来做论坛?”的问题时,已经简单说过一些理由。

目前针对 Joomla 1.5 的标准论坛组件基本上功能都不太强。在可整合的独立论坛程序中,IPB 和 VBB 久负盛名,功能当然不会弱,但是它们都是收费软件。我不建议大家都去用盗版。SMF 完全免费,其功能一点不比 IPB 和 VBB 差,为什么非要用盗版呢?

对于国人比较喜欢的 Discuz 论坛程序,我觉得在实现“讨论”这个功能上,比 SMF 也强不了多少。据说 DZ 的授权也不是 GPL 的,况且目前与 Joomla 的整合还不成熟。我何不选择可以完美整合的 SMF ?

phpBB3 的授权是 GPL,完全开源免费。不过,我发现在 phpBB3 论坛程序中安装其插件非常麻烦,而 SMF 有自动安装插件的功能,省事多了。

因此,经过再三比较,我们认为 SMF 是搭建一个功能强大、安全快捷、无缝整合的论坛的首选方案。

 

尽管 SJSB 桥接器还远远够不上“完美”,但我仍然对它抱有厚望。因为作者 Nicola Ferruzzi 一直在努力。SJSB 也是目前我见过的能够整合 Joomla! 1.5.x + SMF2 的最佳方案。

SMF 2.0 目前还没有到 stable 版本,这也为 SJSB 的完善留出了一定的时间窗。我们预祝 Nicola Ferruzzi 能够最终将 SJSB 打造为一流的桥接器!

 

 下载 SJSB for J1.5 论坛桥接器 1.0.15a Dev2 多国语言版大礼包
文件标题: SJSB for J1.5 论坛桥接器 1.0.15a Dev2 多国语言版大礼包 (详情)
文件类型: zip
版本: 1.0.15a Dev2
文件大小: 111 Kb
下载次数: 353
 

 下载 Simple Machines Forum(SMF2)论坛程序 2.0 RC4 多国语言版
文件标题: Simple Machines Forum(SMF2)论坛程序 2.0 RC4 多国语言版 (详情)
文件类型: zip
版本: 2.0 RC4
文件大小: 3.19 MB
下载次数: 588
 


 

评论  

 
0 #5 试了一下很好用ctctctct 2009-12-15 23:33
将smf论坛的语言改成英文,m od_sjsb_ssi 网站前台就不出错了,不知为什么
 
 
0 #4 整合SMF论坛时候模板错乱supergb 2009-06-02 19:45
我用Jfusion或者SJSB 无缝整合的时候,进入到论坛页面 ,模板会错乱,看起来好像是Jo omla的模板和SMF的模板C SS文件有冲突,不知道该怎么解 决,希望白站长或者其他J友帮助 ,谢谢!
 
 
0 #3 JFusion 还不支持 SMF2白建鹏 2009-03-26 22:19
我在文章里面提到了,JFusi on 目前只能整合 SMF 1.1.x 版本,不能整合 SMF2。

个人感觉,JFusion 的长处在于用户同步。但是外观整 合方面做得不够好。即使是针对 SMF 1.1.x,JFusion 在启用了“无缝整合”选项后也错 误较多。
 
 
0 #2 不知道它和jfusion到底哪 个好?architectcom 2009-03-25 17:08
还有一个成熟的解决方案是jfu sion。

jfusion也一样可能整合s mf的外观。(不能整合phpb b3的外观。美中不足)。
 
 
0 #1 这里的论坛感觉很好Pooh 2009-03-25 15:57
:D