Как отключить кэш в preprocess?

Аватар пользователя Artalek Artalek 29 ноября 2021 в 20:43

Здравствуйте, как в myTheme_preprocess() в файле myTheme.theme отключить кэширование?
В препроцессоре я проверяю значение в \Drupal::request()->getSession(), а он его кэширует, и постоянно выводит одно и тоже значение пока сбросить кэш

Лучший ответ

Аватар пользователя OldWarrior OldWarrior 30 ноября 2021 в 16:11
1

Artalek wrote: как в myTheme_preprocess() в файле myTheme.theme отключить кэширование?

Кеширование чего именно?

Можно попробовать добавить зависимость кеш-контекста от сессии.

<?php
function MYMODULE_preprocess_page(&$variables) {
  ...
  
$variables['#cache']['contexts'][] = 'session';
}
?>

Комментарии

Аватар пользователя OldWarrior OldWarrior 30 ноября 2021 в 16:11
1

Artalek wrote: как в myTheme_preprocess() в файле myTheme.theme отключить кэширование?

Кеширование чего именно?

Можно попробовать добавить зависимость кеш-контекста от сессии.

<?php
function MYMODULE_preprocess_page(&$variables) {
  ...
  
$variables['#cache']['contexts'][] = 'session';
}
?>