Можно ли отключить кэш для определенных полей?
Я работаю на сайте, где внедряю свой собственный модуль cookie-панели. Для этого модуля я сделал возможным написать в редакторе что-то вроде:
Где все, что находится между тегами {cookie}, видно только тогда, когда принимаются файлы cookie. Это отлично работает в моей среде разработки, но когда я разверну его на тестовом сервере, где включен кэш, он не покажет никаких изменений при включении/отключении файлов cookie, потому что страница уже кэшированный.
Есть ли способ отключить кэш в текстовом поле или, еще лучше, все, что находится между тегом cookie?
1 answers
Вам необходимо настроить контекст кэша узла.
Если файл cookie является сеансом drupal, используйте для этого предопределенный контекст кэша:
$build['#cache']['contexts'][] = 'session.exists';
Если вы нацелены на другой файл cookie, о котором drupal не знает, вам потребуется создать свой собственный контекст, дополнительная информация: