3

Content Construction Kit (CCK) 是最有用的 Drupal 模块之一。它允许您轻松地将自定义字段添加到内容类型。

但是,这些新字段是通过 Drupal 本身创建并存储在数据库中的。这意味着如果您在开发环境中更改 CCK 字段,您需要在测试和生产环境中手动进行相同的更改。

更糟糕的是,没有简单的方法可以确定您的环境是否不同步。因此,如果您在将更改投入测试或生产时无意中搞砸或遗漏了更改,您可能永远不会意识到。

我正在寻找一种允许我导出支持的 CCK 字段定义的技术:

  • 导入新环境(显然)
  • 创建新字段

理想情况下,导出还支持:

  • 差异化
  • 修改现有字段
  • 删除现有字段
  • 在数据与字段更改发生冲突的情况下的某种冲突解决方案

解决方案越简单、可重复性越好。我想避免自定义脚本或 GUI 自动化,除非有一种非常干净的方法可以做到这一点。

4

3 回答 3

4

您知道作为标准 cck 包一部分的内容复制模块吗?它在某种程度上为字段和整个内容类型提供了导出/导入功能。

它本身不提供差异,我不确定它对现有字段的修改效果如何,但它对于移动新字段和/或内容类型有很大帮助。

此外,您可以保存来自不同实例的导出输出并在本地对它们进行比较,这样可以很好地了解更改(尤其是快速揭示“不同步”情况)。

启用后,检查“/admin/content/types”顶部的新导出和导入选项卡。

于 2009-10-06T21:22:15.827 回答
3

它还没有那么成熟,但功能模块将允许您这样做。它将 CCK 字段(除其他外)打包到您可以分发的 drupal 模块中。

于 2009-10-07T06:13:05.633 回答
0

我个人使用节点导出模块 + 节点导出文件模块(包括在内,用于 CCK /image 字段)。

整个节点被导出到一个文本区域,作为一个关联数组。导入形式类似:将节点数组粘贴到文本区域中。这些过程被实现为节点操作,因此它们可以批量完成(在 /admin/content/node 页面上,或在您的自定义部署模块中)。

此过程的好处是您可以修改传输中的节点数据。

使用文本编辑器,您可以随意更改内容类型、标题、添加/删除/修改字段。使用具有良好查找/替换功能的文本编辑器,您可以批量编辑数百个节点。由于您有文本,您可能可以使用现有工具或快速脚本来完成您的需求列表中的所有事情。

于 2009-10-08T16:58:44.300 回答