dynamic/silverstripe-blocks-to-elemental-migrator

将 SilverStripe Blocks 数据迁移到 SilverStripe Elemental

2.0.0-alpha1 2018-09-04 20:06 UTC

This package is auto-updated.

Last update: 2024-09-08 20:04:52 UTC


README

摘要

SilverStripe 3 引入了一种新的内容管理方式,其中之一是 Blocks 模块。随着 SilverStripe 4 的发布,Elemental 现在是管理灵活内容集合的首选 "Block" 类型模块。此模块旨在使从 Blocks 模块迁移到 Elemental 变得更容易。

此模块提供了一个可定制的基任务,允许迁移您可能创建的附加块到现有元素,或者迁移您创建的新元素。

要求

  • SilverStripe ^4.0
  • SilverStripe Elemental ^2.0
  • SilverStripe Blocks ^2.0

安装

composer require dynamic/silverstripe-blocks-to-elemental-migrator

用法

配置

配置支持将 Blocks 及其与 DataObjects 的关系映射到 Elements 及其与 DataObjects 的关系。以下是一个示例配置,将 AccordionBlockImageBlockRecentBlogPostsBlock 分别迁移到 ElementAccordionElementImageElementBlogPosts

blockmigration.yml

Dynamic\BlockMigration\Tasks\BlocksToElementsTask:
  mappings:
    AccordionBlock: Dynamic\DynamicBlocks\Block\AccordionBlock
    AccordionPanel: Dynamic\DynamicBlocks\Model\AccordionPanel
    ImageBlock: Dynamic\DynamicBlocks\Block\ImageBlock
    RecentBlogPostsBlock: Dynamic\DynamicBlocks\Block\RecentBlogPostsBlock

  migration_mapping:
    ##Accordion
    Dynamic\DynamicBlocks\Block\AccordionBlock:
      Element: Dynamic\Elements\Accordion\Elements\ElementAccordion
      Relations:
        Panels: 'Panels'
      MigrateOptionFromTable:
        Panels:
          AccordionPanel: Dynamic\DynamicBlocks\Model\AccordionPanel
    ##Image
    Dynamic\DynamicBlocks\Block\ImageBlock:
      Element: Dynamic\Elements\Image\Elements\ElementImage
      Relations:
        Image: 'Image'
    ##Recent Blog Posts
    Dynamic\DynamicBlocks\Block\RecentBlogPostsBlock:
      Element: Dynamic\Elements\Blog\Elements\ElementBlogPosts
      Relations:
        Blog: 'Blog'

根据您的项目,您可能会遇到一些问题。请查看 高级配置 以获取更多选项和建议。