Select nodes instead of searching via reference editor in Neos CMS.
composer require tms/select
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
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. |
By default, Neos will cache data source results considering the current node. For Tms.Select
this caching behaviour is not optimal, because
- Data source results get build too often
- 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'
Development sponsored by tms.development - Online Marketing and Neos CMS Agency