原文地址:
https://docs.acquia.com/article/lesson-52-exporting-configurations
导出配置
有三种方法可以导出配置文件。
- 完全导出 - 把站点的所有配置导出为一个压缩包
导航到 /admin/config/development/configuration/full/export,点击“导出”按钮,叫做 config-xxx.tar.gz 的压缩包会被下载下来。 - 部分导出 - 使用单独的导出配置,分别导出每个文件。
导航到 /admin/config/development/configuration/single/export,使用“配置类型”和“配置名称”选择你要导出的配置。 - Drush - 用 Drush 导出配置
上节我们已经使用 Drush 导出了配置。导出结构类似这样: sites/default/files/config_[your config path]/syncdrush config-export
导出后我们就可以把想要的配置文件拷贝到自己的模块内了。
创建空模块
创建空模块的步骤如下:
- 在 Drupal 8 的模块目录创建 fields_example 目录
- 创建子目录 config
- 在 config 内创建目录 install
- 从导出的配置内拷贝 node.type.external.yml 文件放在 config/install 目录下
- 在 fields_example 根下创建 external.info.yml 文件。起个模块名(可以叫:External Link Content Type),像其他模块那样定义 type,description,package 和 core version。
结构类似这样:
是时候看下通过模块怎样创建内容类型了。
- 去 /admin/structure/types,删除我们之前创建的 External 内容类型。
- 去“扩展”激活 External Link Content Type 模块
- 去 /node/add/external,你会看到 External 内容类型的节点追加表单
现在我们有了一个提供 External 内容类型且能够正常运行的模块。去“扩展”卸载这个模块,为下一步做准备。
增加字段配置文件
把上一节我们导出的其他配置文件放置在 fields_example/config/install/ 目录内。
应该有这些文件:
- core.entity_form_display.node.external.default.yml
- core.entity_view_display.node.external.default.yml
- core.entity_view_display.node.external.teaser.yml
- field.field.node.external.body.yml
- field.field.node.external.field_image.yml
- field.field.node.external.field_url.yml
- field.storage.node.field_url.yml
重新激活这个模块。去 /node/add/external 查看节点追加表单,body、url 和 screenshot 字段都会被表示出来。