【发布时间】:2014-01-07 17:08:57
【问题描述】:
我有两个 drupal 7 站点,我希望它们共享某种内容类型的内容。我想将此内容存储在外部数据库中。如何使用自定义模块实现这一点?
【问题讨论】:
-
您尝试过什么,还是只是在询问?
标签: drupal drupal-7 drupal-modules content-type
我有两个 drupal 7 站点,我希望它们共享某种内容类型的内容。我想将此内容存储在外部数据库中。如何使用自定义模块实现这一点?
【问题讨论】:
标签: drupal drupal-7 drupal-modules content-type
您可以设置一个 Rest 服务器。 然后您可以使用视图来共享您想要的信息。
【讨论】:
【讨论】:
Drupal 站点上的内容(即节点)不存储在单个表中。相同的表用于存储不同内容类型的内容。当您将字段添加到内容类型或更改其设置时,会动态创建某些表。因此,您不能通过简单地共享用于存储它们的表来在两个站点之间共享某些内容。
根据经验,您无法在 Drupal 中通过简单地在数据库级别做一些事情来实现任何复杂的事情。 (PHP)代码中实现的存储逻辑太多,访问数据库时不能忽略。您应该始终将您的解决方案基于 Drupal 的 API(而且大多数时候,不是 DB 层 API,而是高级 API,例如 Node 和 Fields API)。
也就是说,站点之间没有核心 API 进行通信。我会使用其中一个站点作为共享内容的规范来源,并且是唯一可以编辑它们的站点。然后以某种方式在第二个站点上复制这些内容。这可以通过第二个站点上的 Services 或 RESTful Web Services 模块以及第一个站点上的自定义模块来完成,用于通过 REST 服务将新内容和更新的内容推送到第二个站点。
【讨论】: