Si quiero mostrar el título del nodo actual en page.html.twig (de forma predeterminada, parece que solo está disponible en node.html.twig) tengo que crear una función de preproceso como esta:
function theme_preprocess_page(&$variables, $hook) {
// Set our page title so we can access it in page.html.twig
if ($node = \Drupal::routeMatch()->getParameter('node')) {
$variables['my_node_title'] = $node->title->value;
}
}
Y luego tengo que sobrescribir page-title.html.twig copiándolo en mi carpeta de tema actual y comentando todo.
Esto no parece "correcto". ¿Hay una mejor manera?
node
es justoNULL
. ¿Hay alguna forma de obtener un título de página, incluido el título de la página principal (incluso cuando se utiliza una anulación de título )?page['#title']
, no estoy seguro de si eso contendría alguna anulación hecha por VIews (pero probablemente)page['#title']
hay una cadena vacíapage.html.twig
aquí.Puede agregar los siguientes códigos en la parte superior de
node.html.twig
la carpeta de plantillas de su tema:fuente
El código de Drupal 8 para hacer lo que debe hacer el código que muestra es el siguiente.
fuente