public static Toolbar::preRenderToolbar($element)
Builds the Toolbar as a structured array ready for drupal_render().
Since building the toolbar takes some time, it is done just prior to rendering to ensure that it is built only if it will be displayed.
Parameters
array $element: A renderable array.
Return value
array A renderable array.
See also
File
- core/modules/toolbar/src/Element/Toolbar.php, line 66
Class
- Toolbar
- Provides a render element for the default Drupal toolbar.
Namespace
Drupal\toolbar\Element
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public static function preRenderToolbar( $element ) { // Get the configured breakpoints to switch from vertical to horizontal // toolbar presentation. $breakpoints = static ::breakpointManager()->getBreakpointsByGroup( 'toolbar' ); if (! empty ( $breakpoints )) { $media_queries = array (); foreach ( $breakpoints as $id => $breakpoint ) { $media_queries [ $id ] = $breakpoint ->getMediaQuery(); } $element [ '#attached' ][ 'drupalSettings' ][ 'toolbar' ][ 'breakpoints' ] = $media_queries ; } $module_handler = static ::moduleHandler(); // Get toolbar items from all modules that implement hook_toolbar(). $items = $module_handler ->invokeAll( 'toolbar' ); // Allow for altering of hook_toolbar(). $module_handler ->alter( 'toolbar' , $items ); // Sort the children. uasort( $items , array ( '\Drupal\Component\Utility\SortArray' , 'sortByWeightProperty' )); // Merge in the original toolbar values. $element = array_merge ( $element , $items ); // Assign each item a unique ID, based on its key. foreach (Element::children( $element ) as $key ) { $element [ $key ][ '#id' ] = Html::getId( 'toolbar-item-' . $key ); } return $element ; } |
Please login to continue.