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.
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:
Before:
```twig
```twig
@ -16,8 +22,8 @@ After:
{{ drupal_entity('node', node.id, 'teaser') }}
{{ 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.
In case a template does not contain a variable with entity object you may
prepare it in a preprocess hook.
```php
```php
/**
/**
* Implements hook_preprocess_page().
* Implements hook_preprocess_page().
@ -28,7 +34,8 @@ function preprocess_page(array &$variables): void {
```
```
## Rendering blocks
## Rendering blocks
`drupal_block()` now moves attributes provided by block plugin to the outer element. This may break some CSS rules.
`drupal_block()` now moves attributes provided by block plugin to the outer
element. This may break some CSS rules.
Before:
Before:
```HTML
```HTML
@ -45,6 +52,3 @@ After:
```
```
See https://www.drupal.org/node/3068078 for details.
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.