webandco/neos-taxonomy

web&co neos 分类包

安装数: 10,078

依赖项: 1

建议者: 0

安全性: 0

星标: 10

关注者: 5

分支: 0

开放性问题: 0

类型:neos-webandco

5.0.1 2020-09-18 13:44 UTC

This package is auto-updated.

Last update: 2024-09-26 20:15:26 UTC


README

本包为 Neos CMS 提供分类功能。

结构

文档节点类型

  • DocumentTaxonomyStorage: 分类根节点(入口点)

  • DocumentTaxonomyVocabulary: 您可以指定一个或多个具有单独访问权限或行为的词汇表。

    例如,“Taxonomy”用于自由标记

    例如,“Location”提供如国家、州、城市等结构化分类

  • DocumentTaxonomy: 创建新节点并将其立即用作分类。

  • DocumentTaxonomyAbstract(用于扩展自定义节点类型)扩展自定义节点类型以实现更具体的 FlowQuery 表达式。

内容节点类型

  • TaxonomyList: 您可以使用此简单视图来显示匹配“intersect”FlowQuery操作符所使用的分类的节点列表。

抽象节点类型

  • Webandco.Taxonomy:Taxonomy: 继承自 Webandco.Taxonomy:Taxonomy 的每个节点类型都将在检查器中可用 - 例如,在 TaxonomyList yaml 定义中使用。

Intersect FlowQuery 操作

为了找到节点,请使用提供的 intersect() FlowQuery 操作符。与所有 FlowQuery 操作符一样,可以链式使用。在 List.ts2 文件中,您可以找到一个有效示例。

参数

  • type: 'property' | 'node' - 注意:如果您选择节点,目前仅支持节点类型属性 (待办事项)
  • property: 例如,'taxonomies'
  • taxonomies: 例如,'top10, city,...'

getTaxonomies FlowQuery 操作

为了获取与节点相关的所有分类,您可以使用 getTaxonomies 操作。

参数

  • vocabulary: 将列表限制为特定词汇(uriPathSegment)
debug = Neos.Fusion:Debug {
    value = ${q(node).getTaxonomies())}
} 

Eel Helper

有一个 Eel Helper 可用,可以将分类节点数组转换为字符串。为此,Helper 将 uriPathSegment 提取为逗号分隔的列表。如果您定义了默认维度预设,它将从一个指定的维度获取 uriPathSegment。

debug = Neos.Fusion:Debug {
    value = ${Webandco.Taxonomy.toString(q(node).getTaxonomies().get())}
}

设置

  • 通过 composer 下载包

  • 创建基本结构

    • 存储
      • 词汇表
        • 分类
          • (分类)
  • 创建一个 TaxonomyList 内容节点,您就可以开始了。

示例

List.ts2 实现

${q(site).find('[instanceof Neos.Neos:Document]').filter('[taxonomies]').intersect('property', 'taxonomies', node.properties.taxonomies)}

链式实现

${q(site).find('[instanceof Neos.Neos:Document]').filter('[taxonomies]').intersect('property', 'taxonomies', node.properties.taxonomies).intersect('node', 'nodeType', node.properties.locations)}

待办事项

  • 路线图
  • 性能
  • 测试

欢迎提交拉取请求!!