Summary
The Block plugin view builder module allows developers to programmatically render (view) block plugins without the need for the wrapping BlockContent entity. This module is an adaptation of the core BlockViewBuilder and makes sure that:
- Each block gets a cache key, so it can be cached in the render cache
- Cacheable metadata (including access metadata) is taken into account
- Block plugins get a lazybuilder callback so they can be correctly placeholdered
This all results in better leveraging of the (dynamic) page cache.
Note: This module does not aim to implement rendering or viewing of BlockContent blocks as these should best be viewed using the core BlockViewBuilder.
How to use
$blockPluginViewBuilder = \Drupal::service('block_plugin.view_builder');
// Pass optional configuration.
$configuration = [];
$build = $blockPluginViewBuilder->view(‘plugin_id', $configuration);
Requirements
PHP 7.4
Drupal >8.8|9|10
Roadmap
- Notify other contributed modules that are rendering block plugins of the existence of this project (eg. Block field, Twig tweak, Panels, ...)
Project information
- Module categories: Developer Tools
- 119 sites report using this module
- Created by wtrv on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.