Component Libraries: Style Selector Field
This module allows you to add a field to any entity to allow editors to associate any content with a CL Component.
Usages
The most common use of this is to implement hook_entity_view_mode_alter so you can render a view mode associated with the component.
function my_module_entity_view_mode_alter(&$view_mode, $entity) {
// ... after ensuring field exists for entity.
$component_id = $entity->field_component_selector->component;
$variant = $entity->field_component_selector->variant;
// ... after ensuring view mode is valid for entity.
$view_mode = implode('_', array_filter([$component_id, $variant]));
}
This is a clean way of allowing editors to select different styles for a piece of content at any time.
Note that this example requires you to create the view modes (ex: fancy_cta_animated) for your entities. It also requires you to actually use the component in your entity template (ex: node--article--fancy-cta-animated.html.twig).
Features
Options are configurable
Inline documentation
Dynamic variant support
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | Release date | |
|---|---|---|---|---|
| 2.0.0-beta1 | Pre-release | May 30, 2023 | ||
| 2.x-dev | Dev | May 30, 2023 |