定制 tms/select 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tms/select

最新稳定版本:2.0.0

Composer 安装命令:

composer require tms/select

包简介

Select nodes instead of searching via reference editor in Neos CMS

README 文档

README

Select nodes instead of searching via reference editor in Neos CMS.

Install

composer require tms/select

Usage

Single-select nodetype configuration:

'Your.Package:Type': properties: yourReference: type: reference ui: inspector: editor: 'Neos.Neos/Inspector/Editors/SelectBoxEditor' editorOptions: dataSourceIdentifier: 'tms-select-nodedata' dataSourceDisableCaching: true # see "Data source caching" dataSourceAdditionalData: nodeTypes: ['Your.Package:TypeThatShouldBeReferenced'] # Optional parameters groupBy: 'Your.Package:GroupType' startingPoint: '/start/here/instead/of/rootnode' labelPropertyName: 'title' setLabelPrefixByNodeContext: true previewPropertyName: 'thumbnailImage' # works with Neos 7.2+

Multi-select adjustments:

'Your.Package:Type': properties: yourReferences: type: references ui: inspector: editorOptions: multiple: true # Don't forget to set multiple: true when using type: references

Optional parameters

Parameter name Description
labelPropertyName Choose your specific text property name - if not set, the nodes label will be used.
groupBy The grouping must be reflected in the node tree. groupBy expects the nodetype name of a parent node.
setLabelPrefixByNodeContext If set to true, labels get prefixed by [HIDDEN] ..., [NOT IN MENUS] ..., [NOT LIVE] ... and [REMOVED] ... depending on the node context.
previewPropertyName Choose your specific image property name to display a custom preview icon as mentioned in the Neos 7.2 release notes.

Data source caching

By default, Neos will cache data source results considering the current node. For Tms.Select this caching behaviour is not optimal, because

  1. Data source results get build too often
  2. When a referenced node changes, the data source results are not refreshed while navigating the UI (in fact, only when refreshing the browser)

We fixed this by implementing a data source cache Tms_Select_DataSourceCache. To ensure that datasource results are always up to date, you should disable the default data source caching with dataSourceDisableCaching: true.

Works with Sitegeist.Taxonomy

'Your.Package:Type': properties: yourTaxonomyReferences: type: references ui: inspector: editor: 'Neos.Neos/Inspector/Editors/SelectBoxEditor' editorOptions: allowEmpty: true multiple: true dataSourceIdentifier: 'tms-select-nodedata' dataSourceDisableCaching: true dataSourceAdditionalData: nodeTypes: [ 'Sitegeist.Taxonomy:Taxonomy' ] labelPropertyName: title startingPoint: '/taxonomies/your-vocabulary'

Acknowledgments

Development sponsored by tms.development - Online Marketing and Neos CMS Agency

统计信息

  • 总下载量: 13.51k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 4
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04