如何在drupal 8中导入/导出内容类型?

时间:2017-06-28 12:40:23

标签: drupal-8

如何在drupal 8中将内容类型及其相关内容从一个网站导入/导出到另一个网站?

4 个答案:

答案 0 :(得分:2)

您可以通过Drupal 8提供的“同步”功能导出/导入内容类型及其字段类型和字段存储。 这里的URL:admin / config / development / configuration

答案 1 :(得分:1)

在这个答案中,我假设您安装了Drush。 (如果没有,可以在/ admin / config / development / configuration管理配置文件)。

好的,对于您的SiteA,打开终端并转到SiteA文件夹。 假设您希望将您的配置写入/ sites / default / dev文件夹。所以写下面的命令:

drush cex dev

它将导出您的所有网站配置。如果您创建了新的内容类型,则会将它们导出到dev文件夹中。

现在转到SiteA的dev文件夹并复制与您的内容类型相关的每个yml文件。

之后,只需将它们粘贴到同一文件夹中,但这次是在SiteB中。 最后,在终端中,转到SiteB文件夹并编写以下命令:

drush cim dev

修改

如果你想使用dev文件夹,你需要在settings.php中使用这个配置

$config_directories['dev'] = 'sites/default/dev';

另外,我的回答只导出内容类型配置。不是它的内容。

答案 2 :(得分:1)

如果源网站和目标网站相同且您可以导入/导出配置,则使用配置导出/导入是最佳解决方案,否则,使用features module应该是很好的解决方案。

  

功能模块可以捕获和管理功能   Drupal的。功能是Drupal实体的集合   一起满足某个用例。

     

功能提供了用于进行不同网站构建的UI和API   具有可导出的模块中的组件并将它们捆绑在一起   单个功能模块。功能模块就像任何其他Drupal一样   模块,除了它在其信息文件中包含其他信息   以便可以检查,更新或还原配置   编程。

答案 3 :(得分:1)

您会发现drupal / console命令 config:export:content:type 在这里会有所帮助。

创建一个模块,然后运行此命令,它将为您完成所有艰苦的工作:

.ol-attribution

这会将其放在模块的config / install目录中。在新站点上启用该模块后,它将自动运行。

我遇到的一个难题是,它为核心中已经包含的配置添加了两个文件。我只是删除了它们,一切都很好。基本上,如果yml文件没有在文件名中引用您的内容类型,则您可能不需要它。

有关更多信息:

drupal config:export:content:type --module=new_module --remove-uuid --remove-config-hash content_type_to_export