function toolbar_get_rendered_subtrees in Drupal 10
Same name and namespace in other branches
- 8 core/modules/toolbar/toolbar.module \toolbar_get_rendered_subtrees()
- 9 core/modules/toolbar/toolbar.module \toolbar_get_rendered_subtrees()
Returns the rendered subtree of each top-level toolbar link.
Return value
array An array with the following key-value pairs:
- 'subtrees': the rendered subtrees
- 'cacheability: the associated cacheability.
2 calls to toolbar_get_rendered_subtrees()
- ToolbarController::subtreesAjax in core/
modules/ toolbar/ src/ Controller/ ToolbarController.php - Returns an AJAX response to render the toolbar subtrees.
- _toolbar_get_subtrees_hash in core/
modules/ toolbar/ toolbar.module - Returns the hash of the user-rendered toolbar subtrees and cacheability.
File
- core/
modules/ toolbar/ toolbar.module, line 269 - Administration toolbar for quick access to top level administration items.
Code
function toolbar_get_rendered_subtrees() {
$data = [
'#pre_render' => [
[
ToolbarController::class,
'preRenderGetRenderedSubtrees',
],
],
'#cache' => [
'keys' => [
'toolbar_rendered_subtrees',
],
],
'#cache_properties' => [
'#subtrees',
],
];
/** @var \Drupal\Core\Render\Renderer $renderer */
$renderer = \Drupal::service('renderer');
// The pre_render process populates $data during the render pipeline.
// We need to pass by reference so that populated data can be returned and
// used to resolve cacheability.
$renderer
->executeInRenderContext(new RenderContext(), function () use ($renderer, &$data) {
$renderer
->render($data);
});
return [
$data['#subtrees'],
CacheableMetadata::createFromRenderArray($data),
];
}