Estou usando o pagetitle
módulo principal para renderizar um título de página. No entanto, para certos tipos de conteúdo, quero opáginao título principal deve ser o rótulo do tipo de conteúdo (por exemplo, "Notícias") e não o rótulo do nó (por exemplo, "Drupal 8 liberado!").
Existe uma maneira simples de conseguir isso? Meu primeiro palpite foi usar o template_preprocess_page_title
mas $variables
não tem contexto algum sobre nó, tipo de nó, etc.
Respostas:
Como mencionado por Ivan Jaros, você pode usar
hook_preprocess_page_title
.Você só precisa carregar o nó da rota primeiro, para obter algum contexto.
Se você quiser apenas usá-lo com certos tipos de conteúdo, poderá
$node->bundle()
obter o nome legível por máquina e verificar com ele.fonte
block_title
. No entanto, ele não substitui o título da página. Alguma idéia de como obter o conjunto título da página para mesmo valor que o bloco de títuloLinus acertou na função de pré-processo, mas eu pessoalmente usaria isso para obter o nó atual (já que é mais curto e parece mais fácil ...)
Em seguida, para acessar o título do nó, use:
ou para acessar outro campo personalizado (com um valor):
Na verdade, acesse tudo como você acessaria esses dados em uma função de pré-processamento de nó regular :)
fonte
Use o módulo Metatag , ele já está pronto para o D8 e suporta o que você precisa.
fonte
Faça um pequeno módulo. São necessários dois arquivos:
Nome do arquivo: liveeventtitles.info.yml
Arquivo: liveeventtitles.module
Provavelmente tenho mais do que preciso, como não acho que precise de um valor padrão e PLACEHOLDER no hook_form_alter (), mas preciso dar a alguém uma razão para votar nisso (-;
fonte
Em THEMENAME_preprocess_html (& $ variable) {}, existem as $ variables ['head_title'], que é a instância manual mais alta para o título da página (título estruturado: $ variable ['head_title_array']). Também existem outras chaves de matriz interessantes, como $ variable ['page'] ['content'] e $ variable ['node_type'] com base nas quais o título pode ser processado.
Pensamento final: $ variable ['head_title'] = ['title_part1', 'title_part2']; desde que no html.html.twig
fonte