drupal/default_content

启用模块时导入默认内容

安装次数: 23,867

依赖者: 97

建议者: 1

安全性: 0

星标: 44

关注者: 16

分支: 20

开放问题: 17

类型:drupal-module

dev-8.x-1.x 2019-07-25 00:03 UTC

This package is not auto-updated.

Last update: 2024-09-17 05:56:03 UTC


README

本文件内容

  • 简介
  • 要求
  • 安装
  • 配置
  • 用法

简介

Drupal 8 的默认内容解决方案

默认内容 允许您导出内容以及站点配置信息。它通过利用核心的序列化和 hal 模块来实现。它支持内容之间的实体引用,以及如果您有文件实体,还支持文件。内容导出与一组 drush 命令(以下将详细介绍)一起工作。内容导入作为站点安装的一部分自动发生。导入过程扫描所有模块,并导入位于预期文件路径并使用预期 .json 文件结构的任何内容。(以下为详细信息)

功能

  • 支持内容之间的实体引用

  • 如果您有文件实体,则支持文件

  • 使用 drush 命令轻松导出内容和其依赖项到 yml

附加信息

要求

安装

按照您通常安装贡献 Drupal 模块的方式安装。请访问:https://www.drupal.org/docs/8/extending-drupal-8/installing-drupal-8-modules 获取更多信息。

配置

该模块没有菜单或可修改的设置。没有配置。当默认内容模块启用时,核心 HAL 和序列化模块也必须启用。如果它们当前已禁用,激活默认内容将为您提供启用它们的选择。

用法

对于任何需要默认内容的模块,导出过程如下

  1. 使用以下描述的 drush 命令为每个要导出的实体生成 hal+json 文件。
  2. 实体 .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
  1. 一旦您的自定义模块启用,您导出的实体将在新站点安装期间导入到新环境中。

注意

目前这些文件需要手动创建或使用 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?

Build Status