Estoy usando el pagetitle
módulo principal para representar el título de una página. Sin embargo, para ciertos tipos de contenido quiero elpáginaEl título principal es la etiqueta de tipo de contenido (por ejemplo, "Noticias") y no la etiqueta de nodo (por ejemplo, "¡Drupal 8 lanzado!").
¿Hay una manera simple de lograrlo? Mi primera suposición fue usar el template_preprocess_page_title
pero $variables
no tiene ningún contexto sobre nodo, tipo de nodo, etc.
Respuestas:
Como lo menciona Ivan Jaros, puedes usarlo
hook_preprocess_page_title
.Solo tiene que cargar el nodo de la ruta primero, para obtener algo de contexto.
Si solo desea usar esto con ciertos tipos de contenido, puede usarlo
$node->bundle()
para obtener el nombre legible por máquina y verificarlo.fuente
block_title
. Sin embargo, no anula el título de la página. Alguna idea de cómo configurar el título de la página con el mismo valor que el bloque de títuloLinus lo hizo bien para la función de preproceso, pero personalmente lo usaría para obtener el nodo actual (ya que es más corto y parece más fácil ...)
Luego, para acceder al título del nodo, use:
o para acceder a otro campo personalizado (con un valor):
En realidad, acceda a todo de la forma en que accedería a estos datos en una función de preproceso de nodo regular :)
fuente
Utilice el módulo Metatag , ya está listo para D8 y admite lo que necesita.
fuente
Haz un pequeño módulo. Se requieren dos archivos:
Nombre de archivo: liveeventtitles.info.yml
Archivo: liveeventtitles.module
Probablemente tenga más de lo que necesito, ya que no creo que necesite un valor predeterminado y PLACEHOLDER en hook_form_alter () pero necesito darle a alguien una razón para votar esto (-;
fuente
En THEMENAME_preprocess_html (& $ variables) {} están las $ variables ['head_title'], que es la instancia de mano más alta para el título de la página (Título estructurado: $ variables ['head_title_array']). También hay otras claves de matriz interesantes como $ variables ['página'] ['contenido'] y $ variables ['node_type'] en función de las cuales se puede procesar el título.
Pensamiento final: $ variables ['head_title'] = ['title_part1', 'title_part2']; ya que en la html.html.twig
fuente