Можно ли отключить кэш для определенных полей?


Я работаю на сайте, где внедряю свой собственный модуль cookie-панели. Для этого модуля я сделал возможным написать в редакторе что-то вроде:

enter image description here

Где все, что находится между тегами {cookie}, видно только тогда, когда принимаются файлы cookie. Это отлично работает в моей среде разработки, но когда я разверну его на тестовом сервере, где включен кэш, он не покажет никаких изменений при включении/отключении файлов cookie, потому что страница уже кэшированный.

Есть ли способ отключить кэш в текстовом поле или, еще лучше, все, что находится между тегом cookie?

 1
Author: kiamlaluno, 2016-07-08

1 answers

Вам необходимо настроить контекст кэша узла.

Если файл cookie является сеансом drupal, используйте для этого предопределенный контекст кэша:

$build['#cache']['contexts'][] = 'session.exists';

Если вы нацелены на другой файл cookie, о котором drupal не знает, вам потребуется создать свой собственный контекст, дополнительная информация:

Https://www.drupal.org/developing/api/8/cache/contexts

 0
Author: 4k4, 2016-07-08 16:07:44