logo

Paleta - Deixe colorido🎨

Palette — Construtor visual de páginas. Não precisa ser designer.

Demonstração ao vivo Baixar Palette

Scroll

Melhores práticas do Twig - funções e templates de pré-processamento

04/05/2020, by maria

Para fazer o tema do Drupal 8 o mais produtivo possível e oferecer mais oportunidades para a personalização da saída dos temas, o Drupal usa "funções de pré-processamento" e "funções de processamento".

Quando você define funções de pré-processamento Twig, você está adicionando novas variáveis que ficarão disponíveis no template.

Para definir uma função de pré-processamento Twig ou uma função de processamento, você precisa implementar o hook hook_preprocess() ou hook_process().

No seu arquivo .module, você pode ter algo assim:

/**
 * Implements hook_preprocess_node().
 */
function my_module_preprocess_node(&$variables) {
  $node = $variables['node'];
  $variables['my_custom_var'] = $node->id();
}

Agora em seu template Twig, você pode usar {{ my_custom_var }}.

Se você quiser definir a função de pré-processamento para templates específicos (não todos os nós), você precisa dar um nome específico à sua função. O padrão é hook_preprocess_HOOK_NAME(). Por exemplo, se você quiser adicionar variáveis apenas para o template de nós que têm o tipo de conteúdo "article", sua função seria my_module_preprocess_node__article().

Pré-processamento: Adicionar variáveis ao template

Sempre que possível, coloque a lógica em seus templates Twig, não nas funções de pré-processamento. Isso torna seu código mais fácil de manter e entender. Se você absolutamente precisar de um pré-processador, use um.

Dicas de Performance

Para melhorar o desempenho do seu tema:

  • Evite consultas ao banco de dados em funções de pré-processamento.
  • Use caching sempre que possível.
  • Evite adicionar muitas variáveis ao template se você não as usar.
  • Coloque a lógica complexa em funções de pré-processamento apenas se for absolutamente necessário.

Mais informações