drupal / default_content
启用模块时导入默认内容
Requires
- drupal/core: ~8.3
This package is not auto-updated.
Last update: 2024-09-17 05:56:03 UTC
README
本文件内容
- 简介
- 要求
- 安装
- 配置
- 用法
简介
Drupal 8 的默认内容解决方案
默认内容 允许您导出内容以及站点配置信息。它通过利用核心的序列化和 hal 模块来实现。它支持内容之间的实体引用,以及如果您有文件实体,还支持文件。内容导出与一组 drush 命令(以下将详细介绍)一起工作。内容导入作为站点安装的一部分自动发生。导入过程扫描所有模块,并导入位于预期文件路径并使用预期 .json 文件结构的任何内容。(以下为详细信息)
功能
-
支持内容之间的实体引用
-
如果您有文件实体,则支持文件
-
使用 drush 命令轻松导出内容和其依赖项到 yml
附加信息
-
有关模块的完整描述,请访问项目页面:https://www.drupal.org/project/default_content
-
要提交错误报告和功能建议,或跟踪更改:https://www.drupal.org/project/issues/default_content
要求
- Drupal 8
- 仅核心
- HAL (Hypertext Application Language) 模块 必须启用
- 序列化模块 必须启用
安装
按照您通常安装贡献 Drupal 模块的方式安装。请访问:https://www.drupal.org/docs/8/extending-drupal-8/installing-drupal-8-modules 获取更多信息。
配置
该模块没有菜单或可修改的设置。没有配置。当默认内容模块启用时,核心 HAL 和序列化模块也必须启用。如果它们当前已禁用,激活默认内容将为您提供启用它们的选择。
用法
对于任何需要默认内容的模块,导出过程如下
- 使用以下描述的 drush 命令为每个要导出的实体生成 hal+json 文件。
- 实体 .json 文件必须存储在模块子目录中,使用以下结构:
content/{entity type}/{filename}
,其中{entity type}
将是 node、taxonomy_term 等。文件名应为{entity ID}.json
。例如,具有节点 ID 23 的基本页面将存储在:.../modules/custom/someCustomModule/node/23.json
其他示例
modules/default_content_test/content
modules/default_content_test/content/node
modules/default_content_test/content/node/imported.json
modules/default_content_test/content/taxonomy_term
modules/default_content_test/content/taxonomy_term/tag.json
- 一旦您的自定义模块启用,您导出的实体将在新站点安装期间导入到新环境中。
注意
目前这些文件需要手动创建或使用 Rest、Hal 和序列化模块导出。请注意,Hal 模块默认功能是将所有链接指向源站点的 FDQN。
default_content模块期望这些(在这个阶段)相对于http://drupal.org是相对的,因为没有必要拥有只能在原始站点重新导入的默认内容。
注意,imported.json包含一个具有术语引用字段的节点,该字段包含对tag.json中术语的引用。
Gliph库(在8.x核心中)用于解析依赖关系图,因此在这种情况下,首先导入术语,以便在节点中创建对其的引用。
Drush命令
导出一个单个实体
default-content-export
参数
- entity_type: 要导出的实体类型。
- entity_id: 要导出的实体的ID。选项
- file: 将导出的内容写入文件而不是stdout别名:dce
- 必需参数 2
示例
$ drush dce node 123 my_default_content_module
更改实体类型,就像我们在系统中拥有的那样。
$ drush dce node <node id> my_default_content_module
$ drush dce taxonomy_term <taxonomy term id> my_default_content_module
$ drush dce file <file id> my_default_content_module
$ drush dce media <media id> my_default_content_module
$ drush dce menu_link_content <menu link id> my_default_content_module
$ drush dce block_content <block id> my_default_content_module
导出一个实体及其所有引用的实体
default-content-export-references
参数
- entity_type: 要导出的实体类型。
- entity_id: 要导出的实体的ID。选项
- folder: 导出的文件夹,实体按实体类型分组到目录中。别名:dcer
- 必需参数 1
示例
$ drush dcer node 123 my_default_content_module
导出在模块信息文件中定义的所有内容。
default-content-export-module
参数
- module: 模块名称。
- 别名:dcem
- 必需参数:1
示例
$ drush dcem my_default_content_module
并在my_default_content_module.info.yml文件中添加实体的UUID。
default_content:
node:
- c9a89616-7057-4971-8337-555e425ed782
- b6d6d9fd-4f28-4918-b100-ffcfb15c9374
file:
- 59674274-f1f5-4d6a-be00-fecedfde6534
- 0fab901d-36ba-4bfd-9b00-d6617ffc2f1f
media:
- ee63912a-6276-4081-93af-63ca66285594
- bcb3c719-e266-45c1-8b90-8f630f86dcc7
menu_link_content:
- 9fbb684c-156d-49d6-b24b-755501b434e6
- 19f38567-4051-4682-bf00-a4f19de48a01
block_content:
- af171e09-fcb2-4d93-a94d-77dc61aab213
- a608987c-1b74-442b-b900-a54f40cda661
待办事项
用于轻松导出的UI?