Drush 命令.
DXPR Builder 提供 Drush 命令,在命令行管理页面、模板、元素和内容迁移。除 dxb:migrate 外,每个命令都输出 YAML。
页面命令
dxb:page:create
从 DXPR Builder 页面模板创建节点。
drush dxb:page:create drag_and_drop_page my_template \
--title="New Landing Page"
参数:
| 参数 | 说明 |
|---|---|
type |
内容类型机器名 |
template_id |
页面模板机器名 |
选项:
| 选项 | 说明 |
|---|---|
--title |
节点标题(必填) |
--field |
构建器字段名(自动检测) |
--status |
发布状态:0 或 1(默认:0) |
--dry-run |
只验证,不创建 |
别名:dxpr-pc
dxb:page:get
获取实体的 DXPR Builder 标记。
drush dxb:page:get 42
drush dxb:page:get 5 --entity-type=block_content
参数:
| 参数 | 说明 |
|---|---|
entity_id |
实体 ID |
选项:
| 选项 | 说明 |
|---|---|
--entity-type |
实体类型(默认:node) |
--field |
构建器字段名(自动检测) |
别名:dxpr-pg
dxb:page:update
更新实体的 DXPR Builder 标记。
drush dxb:page:update 42 --markup="<div>new</div>"
drush dxb:page:update 42 --markup=@/tmp/page.html
参数:
| 参数 | 说明 |
|---|---|
entity_id |
实体 ID |
选项:
| 选项 | 说明 |
|---|---|
--entity-type |
实体类型(默认:node) |
--field |
构建器字段名(自动检测) |
--markup |
新 HTML(字符串或 @文件路径) |
--dry-run |
显示将更改的内容 |
别名:dxpr-pu
模板命令
dxb:template:list
列出可用的 DXPR Builder 页面模板。
drush dxb:template:list
drush dxb:template:list --category=Landing
drush dxb:template:list --detail
选项:
| 选项 | 说明 |
|---|---|
--category |
按模板分类筛选 |
--profile |
按档案 ID 筛选 |
--detail |
包含模板标记正文 |
别名:dxpr-tl
用户模板命令
dxb:user-template:list
列出所有 DXPR Builder 用户模板。
drush dxb:user-template:list
drush dxb:user-template:list --global
drush dxb:user-template:list --uid=1
drush dxb:user-template:list --status=disabled
选项:
| 选项 | 说明 |
|---|---|
--uid |
按所有者用户 ID 筛选 |
--global |
只显示全局模板 |
--status |
按状态筛选:enabled 或 disabled |
--profile |
按档案 ID 筛选 |
--detail |
包含模板标记正文 |
每个模板的输出包含其 status。
别名:dxpr-utl
dxb:user-template:create
创建可重复使用的 DXPR Builder 用户模板。
drush dxb:user-template:create "Hero Section" \
--markup="<div class='container'>...</div>"
drush dxb:user-template:create "Hero" \
--markup=@/tmp/hero.html --global
参数:
| 参数 | 说明 |
|---|---|
label |
模板显示名 |
选项:
| 选项 | 说明 |
|---|---|
--markup |
HTML(字符串或 @文件路径) |
--global |
供所有用户使用 |
--dry-run |
只验证,不创建 |
别名:dxpr-utc
元素命令
dxb:element:list
列出可用的 DXPR Builder 元素(区块、视图)。
drush dxb:element:list
drush dxb:element:list --type=block
drush dxb:element:list --profile=editor
选项:
| 选项 | 说明 |
|---|---|
--type |
按类型筛选:block、view |
--profile |
按档案 ID 筛选 |
别名:dxpr-el
设置命令
dxb:setup-ai
在 Composer 项目根目录为代码助手安装 AI 技能:Claude Code 用 .claude/skills/dxb,Codex、Gemini、Copilot 和 Cursor 用 .agents/skills/dxb。每份包含 SKILL.md、references/(每个元素一个文件,视图和区块元素、解析规则、A/B 测试和工作流)和带标记验证器的 scripts/。--check 不做更改,列出每个未安装或过期的文件。
drush dxb:setup-ai
drush dxb:setup-ai --check
drush dxb:setup-ai --host=claude
选项:
| 选项 | 说明 |
|---|---|
--host |
目标:claude、agents 或 all(默认:all) |
--check |
检查安装的文件是否最新,不做更改 |
别名:dxpr-sa
迁移命令
dxb:migrate
运行所有有待处理项的内容迁移,或只运行您指定的一个。它按迁移记录一行,某项失败时以非零码退出。同样的迁移列在 DXPR Studio > DXPR Builder > Content Items > Migrations。
drush dxb:migrate
drush dxb:migrate --migration=circle_counter_circliful_to_bootstrap
drush dxb:migrate --migration=counter_duplicate_ids
选项:
| 选项 | 说明 |
|---|---|
--migration |
只运行该迁移 ID,即使没有计为待处理的项 |
--force |
在废弃运行后,接管仍标记为进行中的运行的锁 |
迁移 ID:owl_carousel_to_bootstrap、circle_counter_circliful_to_bootstrap、progress_bar_legacy_to_bootstrap_extension、counter_duplicate_ids、entity_link_enrichment 和 alias_link_enrichment。
该 counter_duplicate_ids 迁移移除与所属 Number counter 或 Circle counter ID 重复的内部显示 ID,包括已保存的 A/B 变体和额外 HTML 包裹中的显示。它保留包裹锚点、不同的自定义内部 ID 和嵌套元素边界。DXPR Builder 渲染已有内容时也会修复这些重复。
部署后运行 Drupal 数据库更新(drush updb 或 update.php)。专用的 counter_duplicate_ids 更新后迁移存放的字段和可重复使用模板,即使网站已运行早期的内容更新。之后导入的内容用上文命令。部署更新后的服务后重建 Drupal 缓存。
别名:dxpr-migrate