drupal-eca-recipe/eca_lib_0004

Switch Case Default

Installs: 16

Dependents: 0

Suggesters: 0

Security: 0

Type:drupal-recipe

dev-main 2025-01-31 13:59 UTC

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