core/lib/Drupal/Core/Render/Element/PageTitle.php | 56 +++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/core/lib/Drupal/Core/Render/Element/PageTitle.php b/core/lib/Drupal/Core/Render/Element/PageTitle.php new file mode 100644 index 0000000..30746e7 --- /dev/null +++ b/core/lib/Drupal/Core/Render/Element/PageTitle.php @@ -0,0 +1,56 @@ + NULL, + '#pre_render' => [ + [static::class, 'preRenderPageTitle'], + ], + '#cache' => [ + 'contexts' => [ + 'route', + ], + ], + ]; + } + + /** + * Renders a page title. + * + * @param array $element + * A page title render array, with #title either a string or a #markup + * render array. + * + * @return array + * The updated page title render array, with the title in #markup. + */ + public static function preRenderPageTitle($element) { + if (is_array($element['#title'])) { + $element += $element['#title']; + } + else { + $element['#markup'] = $element['#title']; + } + return $element; + } + +}