百度空间 | 百度首页 
               
 
查看文章
 
RokBridge-phpBB3 for Joomla! 1.5 整合论坛初长成[ZT]
2008年04月18日 下午 02:49

RokBridge-phpBB3 for Joomla! 1.5 整合论坛初长成[ZT]

原贴地址: http://www.joomlagate.com/content/view/139/29/

=============

自从 Joomla! 1.5 发布 RC 版本开始,大家都关心一个问题:在 Joomla! 1.5 上,我们如何建造论坛?大多数用户的看法是一致的:整合外部论坛仍然是非常必要的。我也一直坚持认为,从头开发一个论坛组件很辛苦,对于用户来说要等到功 能成熟也很辛苦。只要有可能,我们就应该“站在巨人的肩膀上”。因此,我一直关注着 Joomla! 1.5 平台的论坛桥接器。

近半年来,呼声最高的就是 Rocketwerx 团队所提出的 RocBridge 桥接器。大约在2007年7月他们就开始了这项工作。前一阵他们开发小组闹别扭,人员重新组合,我还担心这个桥接器是否要夭折了。昨天终于看到 Rocbridge rc1 发布了。

鉴于 Joomla! 论坛曾发生过一场非常激烈的关于许可协议(License)的争论,RocBridge 从一开始就提出:该桥接器将不需要修改(Hack)任何 Joomla! 1.5 或 phpbb3 的核心文件,即不具有破坏性(non-invasive)。这一点听起来似乎挺好,但我认为会增加桥接器开发的难度,并且限制桥接器的功能—— 关于这一点以后细谈,今天简单介绍一下 RocBridge 的安装过程。

使用 RocBridge 之前的注意事项

下载 RocBridge 桥接器之后,请首先解压。然后打开 INSTALL.php 文件,认真阅读。本文内容主要是对该文件的翻译和解释。

  1. Rocbridge 只适用于在 Joomla! 1.5 平台整合 phpbb3 论坛
  2. 你的服务器端 php 必须支持 MySQL 和 Zlib (如果不清楚,请与空间商联系解决);虽然 Rocbridge 可以在 IIS 服务器上运行,但是最佳平台还是 Apache
  3. 如果你想使用 SEF 功能,那么你的服务器端 apache 必须启用 mod_rewrite 模块,并且你有权限使用 . htaccess 文件。
  4. 安装Joomla! 1.5 stable并确保运行正常
  5. 安装phpbb3并确保运行正常(必须安装在 Joomla! 1.5 的某个子目录中,桥接器默认为 distribution 目录)
  6. phpbb3 可以安装在 Joomla! 1.5 的数据库中,也可以使用另外一个数据库
  7. RocketWerx 在 JoomlaCode.org 有自己的项目主页:http://joomlacode.org/gf/project/rocketwerx/frs/ ,你可以去那里查看 Rocbridge 桥接器的最新进展。

RocBridge 桥接器安装过程

  1. 将 joomla15-bridge.tar.gz 桥接器主文件解压到 Joomla! 1.5 的根目录下,这将在 Joomla! 1.5 的根目录下创建一个新文件夹 forum
  2. 通过 Joomla! 1.5 后台的“扩展管理”安装 joomla15-authentication.tar.gz 和 joomla15-user.tar.gz 插件
  3. 在 Joomla! 1.5 后台的“插件管理”中,启用刚才安装的两个插件,并且检查一下它们的参数。都只有一个参数,是桥接器的安装目录,默认应该是 forum,即第一步创建的新目录。
  4. 将 phpBB3-authentication.tar.gz 文件解压到 phpbb3 的根目录下,这将在 phpbb3 原有的 /includes/auth/ 目录中增加一个 auth_joomla.php 文件
  5. 登录到 phpBB3 管理员后台,点击左侧导航栏的“客户端通信 -> 认证设定”(Client communication -> Authentication),然后在第一项“选择认证方式”(authentication method)这里选择“Joomla”作为认证途径。

我已经将 phpbb 安装到 /forum 目录了,怎么办?

本来 RocBridge 要求将桥接器本身解压,生成 forum 目录;现在已经有了 forum 这个目录,就不能直接解压了。你必须在本地先解压,然后修改桥接器目录名称,如改为 bbs ,然后打开该目录中的configuration.php 文件,在大约第 15 行找到如下代码:

var $phpbb_path = ‘distribution’;

这里的“distribution”本来是默认的 phpbb 安装目录,必须修改为你现在实际上已安装 phpbb3 的目录名称 forum。

然后,将整个 bbs 文件夹上传到 Joomla! 1.5 的根目录下(不一定是服务器的根目录)。

现在,只完成了一半工作。前面安装的两个插件:joomla15-authentication.tar.gz 和 joomla15-user.tar.gz ,其后台参数中都要求提供桥接器的安装目录,默认已经填写了 forum,但是现在情况有变,就必须更改为实际的桥接器目录,即 bbs。

至此,修改完成。你可以开始运行桥接器了。

RocBridge 的 SEF 功能如何使用?

大家注意到,伴随桥接器还有一个 htaccess.txt 文件。仔细阅读,里面就说得很清楚,需要把下面一段代码插入到你已有的 Joomla! 1.5 本身的 . htaccess 文件中“定义 Joomla! 核心 SEF 的代码”之前。当然,这个前提就是你的 Joomla! 1.5 已经启用了 SEF 并且开启了 mod_rewrite,否则这个 . htaccess 文件就是摆设。

要插入的代码是(或许以后 Rocbridge 版本改变后此代码也会更改,请以你所安装的桥接器版本为准):

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^/forum/ forum/index.php [L]

在 Joomla! 1.5 根目录下找到 . htaccess 文件,把上述4行代码插入到下面的代码之前并保存:

########## Begin - Joomla! core SEF Section

接下来,还必须在桥接器的配置中开启 SEF,即打开桥接器文件夹(默认是 forum)中的 configuration.php 文件,在第 24 行和 27 行,分别将两处的 0 修改为 1 即可启用 SEF 功能。

结果测试

在两个浏览器窗口中分别打开 Joomla! 1.5 和 phpbb3 前台首页,你可以使用 Joomla! 1.5 或 phpbb3 的用户名(至少都有一个管理员用户吧)登录到 Joomla! 1.5,然后刷新 phpbb3 的页面,就会发现也自动登录了;反之,你在 phpbb3 前台使用任何一个用户名登录,再去刷新 Joomla! 1.5 的页面,发现也已自动登录。注销也是一样。

对于 rocbridge 给 phpbb 带来的 SEF 我很不满意,因为生成的 URL 是这样的:

http://localhost/15/phpbb/viewtopic.php?f=2&t=1

猜测一下:上面 URL 中的 f =2 意思是指版块(forum) ID 为 2,t =1 意思是指话题(topic)ID 为 1,因为这是整个论坛的第一个帖子(默认安装后的示范帖)。

我不满意是因为 URL 中仍然有 ? 和 & 符号,这是 SEF 所不允许的。虽然有人说,Google 官方网站的 URL 中一直都有这两个符号,他们的 PR 值还很高;但是我们说的是 SEF 的定义,不是说 SEF 的效果。

Rocbridge 使用点评

上述整合过程是让 phpbb3 在 Joomla! 1.5 界面之外独立运行,只是实现了用户整合,可以一次注册,同步登录。

但是,相信很多人希望 phpbb3 能够嵌入在 Joomla! 1.5 之中运行,这样能保持全站统一的风格。就像本站通过 JSMF 桥接器整合 SMF 论坛一样。

这种嵌入如果简单地通过 Joomla! 1.5 的 wrapper 功能来实现,则有一个弊端:点击论坛中的链接后,浏览器地址栏的 URL 不能动态更新。这就给分享信息及实现 SEF 带来了困难。

我认为要真正做到像 JSMF 桥接器那样优秀,Rocbridge 就必须以 Joomla! 1.5 标准组件的形式出现,然后用户将论坛的菜单指向该桥接器组件,这样才能通过桥接器文件的 reWrite 实现 phpbb3 嵌入,以及嵌入后的动态 URL 和 SEF。


类别:建站与点点滴滴项目 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu