Download the PHP package heimrichhannot/contao-choices-bundle without Composer
On this page you can find all versions of the php package heimrichhannot/contao-choices-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download heimrichhannot/contao-choices-bundle
More information about heimrichhannot/contao-choices-bundle
Files in heimrichhannot/contao-choices-bundle
Package contao-choices-bundle
Short Description This bundle offers support for choices.js for the Contao CMS.
License LGPL-3.0-or-later
Informations about the package contao-choices-bundle
Contao Choices Bundle
This bundle offers support for the JavaScript library Choices.js for the Contao CMS.
Features
- activate choices support on page level (with inheritance and override option)
- customize options from dca or dynamically from event
- Encore Bundle support
- Filter Bundle support
Setup
- Install via composer:
composer require heimrichhannot/contao-choices-bundle
. - Update Database
- Encore Bundle: Prepare and generate encore entries
Usage
Active or deactivate choices support on page level (Layout section). You can activate/deactivate it separately for select and text boxes. You can overwrite settings from a parent page.
It is possible to active and deactivate choices support for single field as well.
Using DCA configuration:
Using CustomizeChoicesOptionsEventListener
NOTE: Choices are enabled by default if activated on page level.
Configuration
Each field can be customized via DCA:
All options from Choices.js can be found at https://github.com/Choices-js/Choices#setup
NOTE: the only option not from choices.js is
Filter Bundle
Choices.js support it automatically added to choice type form fields. It can be disabled in the type configuration. For other config types it can be activated in the configuration.
Developers
PHP Events
To customize options passed to the choices.js library, you can use the CustomizeChoicesOptionsEvent
. Register an event listener to huh.choices.customize_choices_options
. This work for 'normal' widgets and filter bundle fields. In your event listener you check, if the event comes from an filter bundle field by calling CustomizeChoicesOptionsEvent::isFilterField(): bool
. In this case, the complete (but cloned) AdjustFilterOptionsEvent
is passed to the event and the fieldAttributes array is empty. If you don't use filter bundle, you can ignore the filter bundle part.
JavaScript Events
Following events can be used to further customize the choices instances:
Event name | Data | Description |
---|---|---|
hundhChoicesOptions | options | Customize options before instantiating the choice object. |
hundhChoicesNewInstance | instance | Is dispatched right after the choices instance is create. |
Example:
Custom usage
If you use the library in a different way than this bundle provides (e.g. a custom module), use the frontend asset service to dynamically add the frontend assets.
All versions of contao-choices-bundle with dependencies
ext-json Version *
contao/core-bundle Version ^4.9
heimrichhannot/contao-encore-contracts Version ^1.0
heimrichhannot/contao-utils-bundle Version ^2.196
psr/container Version ^1.0 || ^2.0
symfony/service-contracts Version ^1.0 || ^2.0 || ^3.0
symfony/event-dispatcher-contracts Version ^1.0 || ^2.0 || ^3.0
symfony/dependency-injection Version ^4.4 || ^5.4