Drupal和多站点?

时间:2010-08-07 06:56:25

标签: drupal drupal-6

我只想就满足以下要求的最佳方式提出一些意见。

我有

  1. 一个主要的Drupal安装
  2. 这是一个典型的“商家信息”网站,用户可以在其中列出商品
  3. 一位用户可以拥有与其帐户相关联的“列表”
  4. 我希望能够创建使用相同基站的子帐户。但是,对于每个子网站:

    1. 只有用户列表必须出现在他的网站上
    2. 它必须有一个完全不同的主题。
    3. 必须有自己的菜单项
    4. 网站必须运行自己的域名或子域名
    5. 我需要一些答案:

      1. 这可能,或者每个用户是否需要全新的Drupal安装,只需使用网络服务或其他东西从主站点获取其列表?
      2. 哪些模块/组件会让我的生活更轻松?
      3. 为使这一点尽可能简单,还有其他建议吗?

2 个答案:

答案 0 :(得分:2)

问题描述的详细程度不足以提供完整合理的建议(而且 - 另外 - 看起来您可能会在drupal特定论坛上获得更好的建议,因为问题似乎与安装和配置相关而不是编程)但是 - 从我的理解 - 我认为你的解决方案可以在两个方向中给出:

  1. 调整单个安装以显示为不同的网站
  2. 创建共享相同代码库和部分数据的多个站点
  3. 调整解决方案的优势在于您只有一个数据库可以保留,但子网站之间没有实际的实际分隔。您可以通过以下方式实现此目的:

    • SUBSITES:在同一IP上映射各种子域
    • CONTENT:使用本机权限系统过滤要显示的列表项(例如:每个记录的用户只能显示由他自己创建的节点,或者设置为对其角色可见,或者具有相关的分类术语用户名。 ..)
    • 主题:如果子网站仅由登录用户使用,请使用与过滤内容相同的机制[如果允许,每个用户可以原生选择不同的主题],如果它们必须以不同的外观也是匿名用户,然后使用URI来获取相应的主题(如果访问者X通过user1.example.com到达网站,该网站将具有蓝色主题,而如果URI为user2.example.com主题将粉红色)。

    多站点解决方案的优势在于您可以在子站点之间实现真正的分隔(即使是不同的DB)。但是,您必须在主站点和子站点之间同步或传输“即时”数据。如果您使用此解决方案,您应该查看以下链接:

    • services模块,可以轻松设置webservices
    • this page解释如何将drupal连接到不同的数据库(肯定比使用webservices更快......如果你的网站和子网站在同一台服务器上运行,那么合理的解决方案)

答案 1 :(得分:0)

我不想在一个小评论中坚持这一点,但我很同意他的许多观点(upvote!)。

最好的方法是创建子域,并将它们作为站点文件夹中的符号链接到默认/主域文件夹。

鉴于您告诉我们的内容,您最好创建一个创建自己的节点类型(甚至只是CCK)的模块,并使用权限系统的组合(CCK通过content_permission提供此功能),Views,等不需要单独的网站,只需要用户查看自己的内容。

这种方法的优点是你可以使用Flag来允许用户互相交友,使用Views来让他们看到朋友的列表等。

主题可以在帐户级别设置,所以没有问题。

“拥有自己的男人” - 这是否意味着在侧边栏或标题上有自己的块,而不是自定义链接或完全不同的菜单系统?在我回答之前需要澄清。