子模块.
该 modules/ 目录中有三个子模块。两个是小的配置包:接到构建器的内容类型和区块类型。第三个是 Media Library 支持之前的旧 Entity Browser 媒体选择器。本页记录每个安装的内容、依赖,以及如何启用或退役。
| 模块 | 机器名 | 提供 | 状态 |
|---|---|---|---|
| DXPR Builder Drag and Drop Page | dxpr_builder_page |
drag_and_drop_page 内容类型 |
支持 |
| DXPR Builder Block Type | dxpr_builder_block |
drag_and_drop_block 区块类型 |
支持 |
| DXPR Builder Media | dxpr_builder_media |
Entity Browser 媒体选择器 | 旧版;在 Extend 页面隐藏 |
它们都不是必需的。构建器适用于任何视图显示使用 DXPR Builder 格式化器(dxpr_builder_text)的文本字段;请参阅 在已有内容类型上安装。
DXPR Builder Drag and Drop Page
modules/dxpr_builder_page 安装 Drag and Drop Page 内容类型(node.type.drag_and_drop_page),来自 config/optional/:
- 该
body字段,默认视图显示使用dxpr_builder_text格式化器,表单显示用 Field Group 分组。 - 三个 DXPR Theme 字段:
field_dth_hide_regions、field_dth_main_content_width和field_dth_page_layout。它们只在字段存储存在时安装,字段存储由 DXPR Theme Helper 模块提供。
依赖来自 dxpr_builder_page.info.yml:field_group、text、node 和 dxpr_builder。hook_install() 在 body 字段存储不存在时创建它。可选配置无法安装时(如 Minimal 安装配置),它安装类型、正文字段和显示本身,不带 menu_ui 和 path 部分。dxpr_builder_page_update_8001() 将已安装的配置标记为模块强制。
src/DXPRBuilderPageUninstallValidator.php(注册在 dxpr_builder_page.services.yml 中)在存在任何 drag_and_drop_page 节点时阻止卸载。请先删除这些节点或更改其类型。
-
启用模块:
drush en dxpr_builder_page -y -
在
/node/add/drag_and_drop_page创建页面。编辑人员查看页面时,构建器在正文字段上启动。
启用失败并提示“unmet dependencies”时,请启用 Field Group 并检查 body 字段存储是否存在;请参阅 更新后出现的问题。
DXPR Builder Block Type
modules/dxpr_builder_block 安装 Drag and Drop Block 区块类型(block_content.type.drag_and_drop_block),来自 config/optional/,带 body 字段、默认视图显示上的 dxpr_builder_text 格式化器和表单显示。该类型打开了 Create new revision,dxpr_builder_block_update_8002() 为旧安装打开它,因此区块上的每次构建器保存都创建修订(请参阅 内容暂存)。
依赖:text、node 和 dxpr_builder。
-
启用模块:
drush en dxpr_builder_block -y -
在
/block/add/drag_and_drop_block创建区块。 -
将它放入区域。编辑人员在它出现的任何页面上就地编辑它。
dxpr_builder_entity_type_alter() 换入模块自己的 Drupal\dxpr_builder\Entity\BlockContent 类,对 Node 也一样。该类向空构建器字段存入空字符串,编辑器始终有附着点。因此您自己创建的区块类型一旦视图显示使用 DXPR Builder 格式化器,工作方式相同。
DXPR Builder Media
modules/dxpr_builder_media 是模块在核心 Media Library 支持之前的 Entity Browser 图片选择器。它在 .info.yml 中标记为 hidden: true,因此不出现在 Extend;您仍可以用 Drush 启用它。它安装:
entity_browser.browser.dxpr_builder_media_modal:标签为 DXPR Builder Image Browser 的弹窗浏览器,带两个小部件:Media Library 选项卡(由dxpr_builder_media视图支持),以及 Upload new image 选项卡(通过 Inline Entity Form 创建image媒体实体)。views.view.dxpr_builder_media:第一个小部件的媒体网格。image.style.dxpr_builder_media_thumbnail:网格用的 300 by 300 像素缩放裁剪样式。- 库
view、claro_style和gin_style(dxpr_builder_media.libraries.yml)。当前主题为 Gin 或基于 Gin 时,模块向视图附加 Gin 样式表,否则附加 Claro 样式表。
依赖:inline_entity_form、entity_browser、entity_browser_entity_form、media、media_library 和 views。安装时模块将 dxpr_builder.settings 中的 media_browser 设为 dxpr_builder_media_modal;卸载时设为空字符串(Basic file upload)并删除图片样式。
推荐的浏览器是核心 Media Library,不需要子模块:
-
卸载旧模块(如果已启用):
drush pm:uninstall dxpr_builder_media -y -
前往 DXPR Studio > DXPR Builder > General Settings (
/admin/dxpr_studio/dxpr_builder/settings) 并打开 Media。 -
将 Browser type 设为 Media Library 并点击 Save settings。卸载已将其重置为 Basic file upload。
只在依赖返回文件 ID 的 Entity Browser 的网站上保留该子模块;不匹配的浏览器产生的错误请参阅 图片无法上传或消失。模块带有仓库中唯一的 PHPUnit 测试 tests/src/FunctionalJavascript/MediaEntityBrowserTest.php;请参阅 测试。
一次启用多个
drush en dxpr_builder_page dxpr_builder_block -y
每个子模块相互独立。
接下来做什么?
- 内容类型:在自己的内容类型上使用构建器。
- Media Library 集成:推荐的图片选择器。