neos / metadata-contentrepositoryadapter
将资产元数据映射到CR节点
1.0.4
2023-02-13 11:18 UTC
Requires
- php: ^7.4 || ^8.0
- neos/content-repository: ^3.0 || ^4.0 || ^5.0 || ^7.0 || ^8.0 || dev-master
- neos/eel: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || dev-master
- neos/flow: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || dev-master
- neos/fusion: ^3.0 || ^4.0 || ^5.0 || ^7.0 || ^8.0 || dev-master
- neos/media: ^3.0 || ^4.0 || ^5.0 || ^7.0 || ^8.0 || dev-master
- neos/metadata: ^2.0 || dev-master
Suggests
- neos/metadata-extractor: Extracts meta data from Assets
README
Neos.MetaData.ContentRepositoryAdapter 包
此包处理元数据DTO到Neos内容存储的映射。
它提供了三个主要功能
- 元数据DTO到元数据节点类型的可配置映射。
- FlowQuery操作,通过元数据查询资产。
- Eel助手,用于加载任何现有资产对象的元数据节点。
安装
使用composer安装
composer require neos/metadata-contentrepositoryadapter
一些相关包包括
neos/metadata
:提供数据类型和接口(与该包自动安装)neos/metadata-extractor
:提供CLI和实时资产元数据提取
配置
该包提供了一种在节点中存储资产元数据的方法,因此可以在应用程序中使用。
使用方法
该包本身并不改变处理元数据的方式。相反,它为其他包提供了与资产元数据交互的方法。
- 安装该包
- 提取元数据(例如,使用建议的
neos/metadata-extractor
) - 在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()}