如何克隆内容类型?[关闭]


14

我想克隆一个节点类型并在其中添加一些字段。我认为最简单的方法是将其复制并开始工作。

似乎没有官方的方法可以在Drupal 7中克隆内容类型。功能可以允许使用它,但是没有关于如何完成内容的书面程序。

我什至尝试了Bundle Copy模块。

在Drupal 7中克隆任何内容类型的最佳方法是什么?


我只是注意到您尝试了捆绑复制...我一直都在使用,什么没用?
克莱夫(Clive)


1
@NikhilM添加字段使这是一个类似的问题,但不是的11645. DUP
mpdonadio

Answers:


12

最简单的方法是使用Bundle复制模块,但是如果您无法使用它,我建议您使用Configuration Management模块。

配置管理模块使您能够跟踪Drupal站点上的特定配置,能够在不同环境(本地,dev,qa,prod)之间移动这些配置,还可以在完全不同的站点之间移动配置(迁移配置)。无需使用所有配置归网站所有的模块。

它基本上是您不需要的东西的功能。其唯一目的是将配置从一个站点移到另一个站点。


如何使用捆绑副本?我已经导出了文章类型-现在我该怎么做才能在导入相同代码之前更改其名称?
AgA 2013年

只需运行字符串replace ...将'old_content_type'替换为'new_content_type',我以前从未使用过该方法
Clive

谢谢...我可以代替“文章”来克隆文章内容类型吗?
AgA 2013年

是的,但是请确保您的字符串替换区分大小写并且包含撇号(这不是一门精确的科学方法)。因此,PHP代码看起来像str_replace("'article'", "'new_type'", $export_code);
Clive

您是说只需要替换机器名称?
AgA 2013年


3

我已经创建了Content Type Clone,可以在此处作为沙箱项目使用:

https://www.drupal.org/sandbox/davidfiaty/2745827

它使您可以一键克隆内容类型,而无需查看PHP代码或执行复杂的操作。

目前,它仍然是一个沙盒项目,但是它将作为正式的Drupal模块提供。一探究竟!

编辑1:Drupal 7的内容类型克隆的正式发布在这里! https://www.drupal.org/project/content_type_clone Drupal 8版本即将推出。

编辑2:同一页面上提供了Drupal 8内容类型克隆的正式版本。


2

功能模块是最好的选择。

这是您需要做的:

  • 将要克隆的内容类型导出为功能。
  • 在您的Drupal网站中重命名内容类型(即,更改“计算机名称”)
  • 上传并启用您的功能

您可能会在此页面获得“在Drupal 7中克隆内容类型的官方方法”的答案。


1
不能同意那抱歉。捆绑副本比功能更易于使用(并且更轻巧)。同上配置
Clive

您能告诉我在导出的模块中哪些字段要完全更改,并链接有关此“官方”信息的信息吗?
AgA 2013年

+1 @Clive-我们在这里刚刚使用了Bundle Copy-它在Drupal admin / config菜单中的“ Structure”下提供了一个菜单选项“ clone”来克隆内容类型。正是我们在考虑此模块时所希望的。它似乎工作正常。
therobyouknow 2014年

@monymirza这将涉及手动编辑机器生成的代码以搜索/替换/重命名功能生成的内容类型代码。除非人们对功能模块代码以及如何生成此代码非常了解,否则可能会对以这种方式进行手工编码和不幸的结果产生未知数/假设。使用Bundle Copy 的开发版本(在撰写本文时,当前为7.x-2.x-dev)(更正了我在14年10月1日10:29发表的原始评论,以提及当前开发版本中的功能),因为开箱即用的“结构”菜单中的“克隆”菜单选项是为此任务而设计的。
therobyouknow 2015年
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.