drupal-eca-recipe / eca_lib_0004
Switch Case Default
Requires
- drupal/core: >=10.3
- drupal/eca: *
This package is auto-updated.
Last update: 2025-01-31 13:59:42 UTC
README
ID: eca_lib_0004
Demonstrate how typical switch-case PHP constructors could be simulated in ECA models - similar to if-elsif-else statements.
The model is similar to what you would normally do in PHP like this:
switch ($field_select) {
case 'a1':
case 'a2':
case 'a3':
case 'c7':
// Set Status to 3
$field_status = 3;
case 'b1':
case 'b2':
// Set Status to 4
$field_status = 4;
default:
// Set default Status
$field_status = 2;
}
Important note: after the action "Set default Status to 2", ECA first checks the conditions of ALL successors; only then does it execute the actions that follow for those conditions that return TRUE. That's why the "no condition" link has no condition, as we want to execute that path in any case, but not before the top two paths had a chance to change the status. Therefore the condition, if the status is still 2, happens with a delay, i.e. really after everything else has been completed.
Installation
composer require drupal-eca-recipe/eca_lib_0004
cd web && php core/scripts/drupal recipe ../vendor/drupal-eca-recipe/eca_lib_0004