rocketweb/module-cms-import-export

CMS 导入导出 CLI 命令扩展,允许在环境之间同步 CMS 块和页面

安装: 835

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 1

分支: 1

开放问题: 0

类型:magento2-module

v1.1.0 2024-01-10 18:04 UTC

This package is auto-updated.

Last update: 2024-09-24 13:21:20 UTC


README

一个用于管理 CMS 内容(包括块和页面)在环境之间导入导出的工具。此工具在构建和维护项目中非常有用。

使用此工具的思路

  • 允许 FED 团队创建一个 CMS 块/页面,然后在适当的 IDE 中修改 HTML 内容,这些 IDE 允许自动完成和代码样式
  • 允许更简单的部署,因为不需要手动复制粘贴 CMS 数据
  • 允许客户修改预览内容,并准备好部署
  • 通过在生产环境中导出并在预览/dev/local 中导入,轻松同步生产环境到预览/dev/local

安装

使用 composer

composer require rocketweb/module-cms-import-export

然后启用模块

bin/magento module:enable RocketWeb_CmsImportExport

一旦安装了此工具,我们就有了两种工作流程,具体取决于我们想要做什么。

导出

用法

php bin/magento cms:dump:data [options]

Description:
Dumps cms pages/blocks to var/sync_cms_data for further import

Options:
-t, --type=TYPE                Which type are we dumping - block/page/all
-i, --identifier[=IDENTIFIER]  identifier to process (one or CSV list)
-a, --importAll                Flag to import all files
-r, --removeAll                Flag to remove all existing data

如您所见,我们需要定义

  • 类型 - 可以是 CMS 块、CMS 页面或两者 - 必需
  • 标识符 - CMS 块或 CMS 页面的标识符 - 可选

通过这两者的组合,我们可以 导出

  • 所有 CMS 内容(使用 --type=all)
  • 所有 CMS 页面(使用 --type=page)
  • 所有 CMS 块(使用 --type=block)
  • 特定的 CMS 页面或页面(使用 --type=page --identifier=about-us.html,no-route)
  • 特定的 CMS 块或块(使用 --type=block --identifier=who-are-we,homepage-carousel)

CMS 页面标识符是 Url Key!因此,它可能具有 .html 后缀 - 这取决于在 Magento 管理员 CMS 编辑页面中设置的值。使用 CMS 编辑页面的实际值 - Url Key!如果 CMS 页面 Url Key 有 .html 后缀,则文件 %%IDENTIFIER%% 将是:url_key_html.html(但导出或导入时,您仍然使用 Url Key 的值)

一旦执行命令,您将获得以下文件夹结构

var/sync_cms_data/cms/
- blocks
    - %%IDENTIFIER%%.html => contains the block HTML
    - %%IDENTIFIER%%.json => contains title, is_active, stores information
- pages
    - %%IDENTIFIER%%.html => contains the page HTML
    - %%IDENTIFIER%%.json => contains title, is_ative, page_layou, content_heading

您可以直接在编辑器中修改 HTML,这将为您提供更多灵活性。

完成修改后,将文件(html 和 json)提交到仓库。

导入

Usage:
php bin/magento cms:import:data [options]

Description:
Import cms pages/blocks from var/sync_cms_data

Options:
-t, --type=TYPE                Which type are we importing - block/page/all
-i, --identifier[=IDENTIFIER]  identifier to process (one or CSV list)

此命令通过使用 var/sync_cms_data/cms/ 路径中的文件来工作。如您所见,我们需要定义

  • 类型 - 可以是 CMS 块、CMS 页面或两者 - 必需
  • 标识符 - CMS 块或 CMS 页面的标识符 - 可选

通过这两者的组合,我们可以 导入

  • 所有 CMS 内容(使用 --type=all)
  • 所有 CMS 页面(使用 --type=page)
  • 所有 CMS 块(使用 --type=block)
  • 特定的 CMS 页面或页面(使用 --type=page --identifier=about-us.html,homepage-new)
  • 特定的 CMS 块或块(使用 --type=block --identifier=who-are-we,homepage-carousel)

一旦执行命令,内容将在 Magento 管理员中创建/更新。通过执行 php bin/magento cache:flush,您应该能够在前端看到更新的 CMS 内容!