Отключаем кеш на нужных страницах в Drupal

Кеширование анонимов в drupal мера сколь необходимая, столь и неудобная. Большинство страниц на сайте статичны, и использование кеша для них оправдано. Включение его может нарушить работу некоторых динамических страниц, например, страниц, где используются переменные сессии пользователя. Они будут не верно работать для анонимов. Для них кеш надо как то отключать.

Drupal не позволяет избирательно настроить кеш на странице производительности сайта — admin/settings/performance. Но выход есть — немного доработаем drupal, причем штатно через хуки.

Мы будем отключать кеширование в момент инициализации drupal (hook_init), анализируя параметр $_GET[‘q’], тип публикации или что нам ещё взбредет в голову по-анализировать. Т.е. допишем в какой то «свой» модуль myModule вот такой хук:

Есть и готовая реализация этой вещи в виде отдельного модуля, называется — CacheExclude. Но я, к примеру, не люблю засорять проект такими микро-модулями, смысл которых сводится к 10 строкам кода. Но для изучения know-how — полезность и важность таких модулей сложно переоценить.

Мало букафф? Читайте есчо !

Меню в виде SELECT в Drupal 7

Февраль 1, 2017 г.

Drupal обладает развитым набором инструментов с menu, т.к. меню - это одна из составляющих частей Drupal API. Хотя модуль Menu, входящий в состав ядра, ...

Читать

Чтение данных из oembed провайдера

Март 11, 2025 г.

В Drupal 10/11 поддержка Oembed провайдеров в ядре (модуль media) позволяет легко и непринуждённо читать данные о медиа прямо из провайдера. Ранее я рассказывал как зарегистрировать oembed для rutube, чтобы иметь возможность оперировать видео контентом ...

Читать

Убрать копейки при выводе цены Drupal/Commerce

Май 16, 2021 г.

Сложно сейчас найти рублевые цены с копейками, но по умолчанию они выводятся в шаблонах. Давайте посмотрим как их убрать в случае настройки магазина построенного ...

Читать

Чем заменить drupal_get_path() в Drupal 9/10

Январь 9, 2024 г.

Функция считается устаревшей, начиная с версии ядра 9.3, в 10-й версии функция удалена из кода. В новом API нужно воспользоваться одним из сервисов ядра, которые реализуют нужную функцию. Сервис extension.list.module - реализует функции, связанные ...

Читать
 

Комментарии к «Отключаем кеш на нужных страницах в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: