For more information about this repository, visit the project page at https://www.drupal.org/project/twig_tweak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1.3 KiB

Migrating to Twig Tweak 3.x

Dependencies

Twig Tweak 3.x requires Drupal 9, Twig 2 and PHP 7.3.

Rendering entities

Entity ID parameter in drupal_entity() and drupal_field() functions is now mandatory. Previously it was possible to load entities from current route by omitting entity ID parameter. However, that was making Twig templates coupled with routes and could cause caching issues.

Before:

{{ drupal_entity('node', null, 'teaser') }}

After:

{{ drupal_entity('node', node.id, 'teaser') }}

In case a template does not contain a variable with entity object you may prepare in a preprocess hook.

/**
 * Implements hook_preprocess_page().
 */
function preprocess_page(array &$variables): void {
  $variables['entity'] = \Drupal::routeMatch()->getParameter('entity_type');
}

Rendering blocks

drupal_block() now moves attributes provided by block plugin to the outer element. This may break some CSS rules.

Before:

<div>
  <div class="from-block-plugin">Block content</div>
</div>

After:

<div class="from-block-plugin">
  <div>Block content</div>
</div>

See https://www.drupal.org/node/3068078 for details.

Documentation

Cheat Sheet page has been moved to docs/cheat-sheet.md file shipped with the module. This allows to keep documentation in sync with project releases.