neos/metadata-contentrepositoryadapter

将资产元数据映射到CR节点

1.0.4 2023-02-13 11:18 UTC

This package is auto-updated.

Last update: 2024-09-13 14:52:30 UTC


README

Latest Stable Version Total Downloads License

Neos.MetaData.ContentRepositoryAdapter 包

此包处理元数据DTO到Neos内容存储的映射。

它提供了三个主要功能

  • 元数据DTO到元数据节点类型的可配置映射。
  • FlowQuery操作,通过元数据查询资产。
  • Eel助手,用于加载任何现有资产对象的元数据节点。

安装

使用composer安装

composer require neos/metadata-contentrepositoryadapter  

一些相关包包括

配置

该包提供了一种在节点中存储资产元数据的方法,因此可以在应用程序中使用。

使用方法

该包本身并不改变处理元数据的方式。相反,它为其他包提供了与资产元数据交互的方法。

  1. 安装该包
  2. 提取元数据(例如,使用建议的neos/metadata-extractor
  3. 在FlowQuery或Eel中使用元数据

示例

自定义元数据节点类型

创建一个继承自Neos.MetaData:AbstractMetaData的NodeType。大多数情况下,您将继承自Neos.MetaData:Asset

'Vendor.Namespace:Type':
  superTypes:
    'Neos.MetaData:Asset': true
  properties:
    yourProperty:
      mapping: '${yourDto.yourProperty}'

指定您的NodeType将用于的媒体类型。

Neos:
  MetaData:
    ContentRepositoryAdapter:
      mapping:
        nodeTypeMappings:
          'type/subtype': 'Vendor.Namespace:Type'
          'type/otherSubtype': 'Vendor.Namespace:Type'

Eel

查找资产的元数据 - 这里是节点属性image

prototype(Neos.NodeTypes:Image) {
    imageMetaDataNode = ${MetaData.find(q(node).property('image'), node)}
    imageTitle = ${q(this.imageMetaDataNode).property('title')}
}

FlowQuery

获取所有匹配过滤器条件的元数据节点

collection = ${q(assets).children('[instanceof Neos.MetaData:Exif][artist*="Daniel Lienert"]').get()}

获取由这些元数据节点引用的资产

assets = ${q(this.collection).getAssets()}