【发布时间】:2015-04-29 10:15:47
【问题描述】:
我有一个 Drupal 多站点安装。这不是常见的多站点安装。长话短说:我有一个单一的数据库,一个单一的setting.php,主题的变化由模块ThemeKey根据站点域进行管理。 drupal 安装使两个站点使用不同的主题,我设法使用 Apache Server Alias 为它们拥有两个不同的域,因此我有两个站点 www.foo.com 和 www.bar.com。
现在我正在使用 FBOauth 模块管理 facebook 注册,该模块只允许输入一个 facebook 应用程序 ID。在第一个站点中,比如说 www.foo.com,facebook 注册工作完美,因为它与 fboauth 知道的 facebook 应用程序连接。在第二个站点 www.bar.com 中,注册不适用于 facebook 允许我向单个 facebook 应用程序添加只有 一个 域(或它的子域,情况并非如此)。我的意思是,在 facebook 应用程序中,我可以输入 www.foo.com,但不能输入 www.bar.com,所以如果我尝试从 www.bar.com 注册,facebook 会抛出“不允许域”错误。
我认为解决此问题的正确方法是为 www.bar.com 打开第二个 Facebook 应用程序,但 fbaouth 只允许我输入一个应用程序 ID。我该如何克服呢?
编辑:有两个变量 fboauth_id 和 fboauth_secret。覆盖这些解决了问题,但是我在setting.php中做不到,还有其他方法吗?
【问题讨论】:
-
有了这样的设置,没有真正的“优雅”解决方案。
-
也许吧!顺便说一句,这并不奇怪。在我在 fboauth 代码中修改的那一行,有一条评论说“//TODO 添加多站点支持”:) 他们正在考虑,但还没有开发。
-
“//TODO 添加多站点支持”——是的,可能是“真正的”多站点设置,但在 Drupal 术语中,这意味着每个站点都有自己的数据库和设置;但是正如您自己所说,您没有其中之一,而只是使用 ThemeKey 来“伪造”。
-
并没有太大的不同。我需要同一个站点的两个“分支”,所以这是最合适的解决方案,我在一个安装上构建了两个站点,所以它是一个多站点。有完整的模块来管理这种情况:这并不罕见。
标签: php facebook drupal drupal-7