weissheiten/neos-nodemigration

为 Neos 定制的 NodeMigration 操作,扩展了核心选项

v4.0 2018-08-07 08:28 UTC

This package is auto-updated.

Last update: 2024-08-29 04:14:34 UTC


README

为 Neos 定制的 NodeMigration 操作,扩展了核心选项

免责声明

此包扩展了 Neos 核心的可能性,但 **未** 由核心团队成员审查。包含的新选项包括 UnitTested 和已在个人项目中测试 - 但是请自行承担风险,并且在运行操作之前始终进行备份。

如何使用

  • 将包安装到 Packages/Plugin/Weissheiten.Neos.NodeMigration (例如,通过 composer require weissheiten/neos-nodemigration:~1.0
  • 按照以下链接中的说明编写迁移: http://neos.readthedocs.io/en/stable/References/NodeMigrations.html 并使用以下列出的选项
  • 通过控制台使用 ./flow node:migrationstatus 检查可用的迁移
  • 通过 ./flow node:migrate [yourmigrationid] 应用迁移

新的过滤器选项

具有特定 NodeType 的父节点

使用此选项选择具有特定 NodeType 的父节点的节点(例如:您想将所有作为您的自定义页面节点类型子节点的文本节点转换为文本节点)

type: '\Weissheiten\Neos\NodeMigration\Migration\Filters\HasParentOfNodeType'

设置

nodeType: 父节点的 NodeType 搜索深度:在树中向上搜索的深度。(例如:Page => ContentCollection => Text --> 搜索深度 1 不会返回 true,搜索深度 2 会返回 true,如果您搜索 "Page")withSubTypes: 如果节点是给定节点类型的子类型,也会触发(例如:从 "Page" 继承的 "SpecialPage")

使用示例:将所有具有 "AbstractNews" 父类型的 "Text" 节点转换为 "NewsText" 节点

up:
  comments: 'Migrate Textnodes inside news to new NewsText content type.'
  migration:
    -
      filters:
        -
          type: 'NodeType'
          settings:
            nodeType: 'TYPO3.Neos.NodeTypes:Text'
        -
          type: '\Weissheiten\Neos\NodeMigration\Migration\Filters\HasParentOfNodeType'
          settings:
            nodeType: 'Weissheiten.Neos.News:AbstractNews'
            searchDepth: 2
            withSubTypes: true
      transformations:
        -
          type: 'ChangeNodeType'
          settings:
            newType: 'Weissheiten.Neos.News:NewsText'