tms / select
Select nodes instead of searching via reference editor in Neos CMS
Installs: 9 027
Dependents: 2
Suggesters: 0
Security: 0
Stars: 5
Watchers: 4
Forks: 1
Open Issues: 5
Type:neos-plugin
Requires
- neos/neos: ^4.3 || ^5.0 || ^7.0 || ^8.0 || dev-master
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
- 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'
Acknowledgments
Development sponsored by tms.development - Online Marketing and Neos CMS Agency