Estou trabalhando em um módulo no Drupal 8 que recupera dados sensíveis ao tempo de uma API REST externa. Os dados são processados e encaminhados para um bloco. Os dados finais são enviados para um modelo Twig da seguinte forma:
...
public function build() {
$build = [];
$build['ticker_block'] = [
'#theme' => 'module_theme',
'#data' => $myService->data(),
];
return $build;
}
Isso não funciona no ambiente de produção em que o cache está ativado e os dados renderizados aparecem como obsoletos. Como desabilito o cache apenas para o meu módulo e preciso fazê-lo para o modelo Twig e o plug-in Block?
Para parar de armazenar em cache um bloco específico, use a seguinte função:
fonte
Desativar cache para uma página / tipo de conteúdo / controlador específico
Adicionada a opção de rota 'no_cache' para marcar as respostas de uma rota como inatingíveis
fonte
Para impedir o armazenamento em cache de um bloco específico:
adicione o código abaixo no arquivo theme_name.theme
fonte