Preciso renderizar um bloco de visualizações no meu modelo page.html.twig. Em D7 eu faria isso:
<?php
$block = module_invoke('module_name', 'block_view', 'block_delta');
print render($block['content']);
?>
No Drupal 8 module_invoke está obsoleto e é recomendável usar isso: (adicionei o nome do bloco como o segundo parâmetro)
Drupal::moduleHandler()->invoke($block, 'views_block__blog_block_1', $args = array());
Eu tentei algumas coisas. Primeiro tentei fazê-lo em um modelo de galho, mas não sei como chamar funções php em um modelo de galho, de modo que não resultou muito bem.
Em seguida, chamei a função na função preprocess_page () no arquivo .theme, mas antes que eu pudesse funcionar, tentei algo mais simples, apenas para fazer uma variável funcionar dentro do modelo de galho que também não funcionava, por exemplo:
Na função template_preprocess_page (& $ vars) no arquivo .theme:
$test = 'Hello World';
$vars['$my_var'] = $test;
Tentei ligar para my_var dentro do modelo de galho, mas não funcionou e recebi uma mensagem de erro dizendo "O site está com um erro, entre em contato com o administrador"
Então, para resumir, aqui estão minhas perguntas:
- Como disponibilizo variáveis dentro de modelos de galho?
- Como chamo funções dentro de modelos de galho?
- Eu renderizo blocos dentro do arquivo .theme ou modelo de galho?