通过Drupal设计子站点统一管理配置的架构

由 barbypie 于 周五, 2008-07-11 22:25 提交。

需求: 为某奢侈品牌做一个商品展示网站的内容发布和管理网站。 有一台主服务器,配置Main Drupal, 为2个子品牌配置了2个 Sub Site, Sub Sites需要配置在另外一台服务器上(这里我也不确定Drupal的Multi-Site能否跨服务器实现)。 将其称为sub site1和sub site2,子品牌有各自的管理员。 希望管理员登录Main Drupal管理界面后可以并只可以发布自己品牌的商品信息。 在Main Drupal上发布的信息需要同步到各自的品牌sub site,使客户在浏览Sub Site的时候便可以看到该商品的信息。 感觉整个就像是一个内容管理系统,Main Drupal为后台管理系统,子品牌为前台网页。

部署: 根据Drupal Muliti-Site的介绍和指导,已经部署了2个Sub Site,但是碰到诸多问题,因此对Multi-Site是否能实现以上需求产生了质疑。 我试过了3种方法:
1. 我所建立的Sub Site,如果和Main Drupal共用一个数据库,则根本无法实现不同子品牌Sub Site拥有自己不同的商品信息页面,这样会导致后台Main Drupal,2个Sub Sites都拥有完全相同的界面和功能。
2. 而若我建立3个不同的数据库,则似乎让他们变成了3个Drupal了,各自毫不相关,变成了有3个后台管理系统,各自管理自己,这也不是我想要的需求呀。
3. 最后试了让Main Drupal和2个Sub Sites基本共用一个数据库,但通过设置db_prefix 来控制让sub site可以拥有各自几个自己的表格, 但是我是Drupal新手,完全不熟悉Drupal的数据库,所以不清楚发布Content后,Content是保存在哪个表里的,因为如果需要每个子品牌拥有自己的Content来显示商品信息,那就意味着必须有自己的表格来存放Content(这是我自己理解的)。 我真的不确定这种方式是否可行。

最坏的方法是否就是自己修改Drupal的代码为子品牌建立不同的存放Content的表格呢?

还请高手指点帮忙啊!!! 谢谢!!

改db_prefix是对的,但

改db_prefix是对的,但是你不熟悉数据库的话比较麻烦,基本上用户信息是存在userXXX表里, 内容信息是node, node_revision,词汇表信息是term_data, term_hierachy, term_node 等等,CCK是contentXXX,Views也有自己的表

你可以试验一下