如何复制内容类型?


Answers:


13

如果您要重复导出,请使用“ 功能”模块。

功能模块允许在Drupal中捕获和管理功能。一个功能是Drupal实体的集合,它们合起来满足特定的用例。

功能部件提供了UI和API,用于从具有可导出内容的模块中获取不同的网站构建组件,并将它们捆绑在一个功能模块中。功能模块与任何其他Drupal模块一样,不同之处在于功能模块在其.info文件中声明其组件(例如,视图,上下文,CCK字段等),以便可以以编程方式对其进行检查,更新或还原。


1
目前,这似乎是最好的方法。不幸的是没有模块(没有?)喜欢的内容复制在Drupal 6
marcvangend

我需要导出然后导入你是什么意思?
猛禽

2
功能对于复制内容类型来说是过大的。旨在将各种实体/模块/其他捆绑在一起,以实现高度定制的目的。如果您想要内容类型的简单副本,请参见下面的@ user3936。
doub1ejack

我发现Bundles Inherit模块是最简单的。请参阅下面的答案。
马特·布朗

19

也许为时已晚,您可以使用Bundle Copy模块

捆绑包副本替代了Drupal 6的CCK项目中的内容复制模块。具有以下内容的导出/导入支持:节点类型,分类法,用户,字段API字段,字段组

UPDATE 7.x-2.x-dev说明

添加了以下功能:

  • 导出/导入字段集合
  • 内容类型的克隆
  • 出口/进口商业实体捆绑

Drupal 8:捆绑副本在Drupal 8 Core CMI中。


1
捆绑复制不适用于将一种内容类型克隆到同一站点上的另一种内容类型。并且,进行搜索/替换也不是直接的。有引用其他内容类型的节点数组。我还没有弄清楚,但是发狂地问。如果我知道什么是安全的并且不安全进行更改,那将有所帮助。只是警告。(一个用户响应此请求,指出他在做搜索时/原始内容类型的机器名称的所有实例的取代了DB贪污错误。

@ user7558 捆绑副本不适用于将内容类型克隆到同一站点上的另一内容类型。是的,您只需要最小的手动干预即可
Clive

他们是“克隆同一网站上的内容类型?”的问题。drupal.org/node/1589118
gagarine 2013年

1
7.x-2.x-dev支持通过UI在同一站点上克隆内容类型。
mpdonadio

我认为捆绑复制是最受欢迎的选项,因为使用“功能”方法将涉及手动编辑机器生成的代码以搜索/替换/重命名功能生成的内容类型代码。除非人们对功能模块代码以及如何生成此代码非常了解,否则可能会对以这种方式进行手动编码和不幸的结果做出未知/假设。更新时间
2014年

14

我使用了“ 现场工具”模块,它可以完美地工作。

我要做的就是创建第二个内容类型,使用此模块功能将所有字段克隆为新的内容类型,然后卸载该模块。捆绑复制功能似乎是复制内容类型的荒谬方法,这非常简单,正是我想要的。


如果您要做的只是复制一个复杂的自定义内容类型,这就是方法。功能有很多不必要的开销,您的内容类型与生成的模块相关。eh 用这个。安装/启用,转到您想要克隆的内容类型,Clone Fields在顶部查找一个选项卡,选择要复制的字段,将其复制到的节点,然后完成。
doub1ejack

1
我认为Field Tools是最快,最简单的方法。谢谢!
罗杰

创建一个新的空内容类型Tools选项卡,然后Clone fields to this bundle从现有节点内容类型中选择字段Add field instances
雨果2015年

4

我发现(相对较新的)Bundle Inherit模块是一种非常简单的方法。确保除了bundle_inherit模块之外,还启用“捆绑继承节点”(bundle_inherit_node)模块,然后在创建新的内容类型时会获得一个新的“继承”标签。

(它还为您提供了“软继承”和“严格继承”之间的选择...据我所知,“软继承”只是对字段进行一次一次性复制,而“严格继承”则跟踪字段继承层次结构。)


4

最简单的方法是使用Bundle Copy -7.2版本,该版本正在开发中,但对我来说效果很好。

安装模块后,转到“内容类型”页面,然后单击新的“克隆”选项卡。

在“源捆绑包”下,选择要克隆的内容类型。

在“新捆绑包名称”中,输入要创建的新内容类型的名称。单击“克隆”,您现在将在列表中看到该新内容类型。

Field Tools也可以完成这项工作,但不是那么简单。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.