Obter nome do site no modelo personalizado


7

Quero imprimir o nome do site em um modelo personalizado ( page--front.html.twig)

{{ site_name }} não funciona.

Se eu usar {{ page['#title'] }}, recebo apenas "Bem-vindo ao [site_name]".

Estou procurando uma maneira de imprimir apenas o site_name. Alguém sabe como conseguir isso?

Obrigado!

Respostas:


11

Adicione isso ao YOUR_THEME.themearquivo:

function YOUR_THEME_preprocess_page(&$variables) {
  $variables['site_name'] = \Drupal::config('system.site')->get('name');
}

E então isso no seu page--front.html.twigmodelo:

{{ site_name }}

6

As coisas mudaram algumas do Drupal 7 para o Drupal 8. Uma das coisas que mudaram é que é realmente uma boa ideia usar blocos em vez de buscar e renderizar essas coisas você mesmo. O principal motivo é o armazenamento em cache.

O que você provavelmente deseja fazer é colocar o bloco de marca do site em algum lugar da página (pode exibir o nome, o logotipo e / ou o slogan do site). Muitas das coisas que foram codificadas em temas agora são blocos.

Houve um grande esforço para fazer isso, pois possibilitou o armazenamento em cache e enormes ganhos de desempenho, o que foi alcançado no Drupal 8.

Se você realmente deseja fazê-lo da maneira Drupal 7, a resposta do @ Aram mostra como fazê-lo com um gancho de pré-processo.


Muito interessante. Obrigado! Encontrei uma maneira de implementar o bloco em um modelo * .twig usando o seguinte trecho: {% include 'themes / bootstrap / templates / block - system-branding-block.html.twig'%}. Está tudo bem ou você recomendaria outra abordagem?
Stefan

@ Phil Eu recomendo que você faça uma região no seu tema, configure e coloque o bloco. Se necessário, é possível criar um modelo personalizado para alterar a marcação gerada, na maioria das vezes que não será necessário.
googletorp

1

Sim nos D8 twig templatearquivos, você não pode escrever código para buscar dados.

Se você precisar de dados, precisará definir as variáveis ​​em preprocessfunção e usá-las.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.