我有一个 Drupal 7 网站,其中包含“事件”和“新闻”等内容类型。
我希望将这些内容类型的节点自动导入其他网站。
我在“客户端”网站上使用 Feed、XPath 并在“服务器”端使用 Views RSS 字段,但我意识到内容类型字段(如文件)会有问题......有什么建议吗?我希望能够在其他网站上为此内容创建新视图。
PS 网站之间的内容类型将相同(但如果您的解决方案包含其他内容,则不必如此)。
也许您可以通过创建将由客户端使用的 xmls/json(服务器端)来共享数据。
服务是个好方法。但我发现简单的东西很复杂。
您可以做的是创建将输出为 xml/json 的视图...您可以通过在模块/模板文件中执行预处理功能来做到这一点。
之后,客户端(可能运行 cron)将采用 xml/json 并以编程方式创建节点。
您可能在服务和内容分发方面取得了更大的成功。RSS 提要不太适合语义数据的传输。他们高度关注文章列表,通常缺乏诸如“事件开始日期”之类的信息。
服务允许您在 server-drupal-site 上公开服务,将节点公开为例如 RESTfull json。然后客户端drupalsite 可以使用服务和内容分发从所述服务器导入节点。
也就是说,服务套装插入视图,并且非常沉重、庞大和复杂。如果你对大型和复杂的项目(比如我)过敏,你可能会更好地编写简单的模块:
编写这样的模块是非常有益的,因为您不必与文档记录不佳的视图插件、围绕服务的复杂层等作斗争,您可以完全控制和完全理解。它还允许更好的调优和性能。
一个很大的缺点是 Drupal,更具体地说:CCK 或 Fields,决定了数据库及其结构。当您站点上的一些微小配置更改破坏您的模块 SQL 查询时,将会有一个点:突然之间,由于 Drupal 决定重命名或移出某些表、列或引用,您会爆出 SQL 错误。