Drupal 8. Как отключить кэширование отдельных страниц.

Опубликовано admin - пт, 09/20/2019 - 14:35

Не знаю как Вы, но я потратил несколько часов чтобы отключить кэширование страниц самописного модуля.

Одним из вариантов, к примеру, использовать файл module.routing.yml

Отключить кэширование для определённого типа можно следующим образом:

Также отключить кэширование можно через класс контролера.

Надеюсь кому-то поможет!

Взаимосвязанные материалы

# 1. Drupal 8. Шаг за шагом как создать модуль с отображением в admin панели (суббота, сентября 28, 2019 - 22:12 ),
Часто требуется не только создать модуль с функциональностью на страницах сайта, но и предоставить возможность конфигурировать настройки модуля в администраторском разделе. читать...
# 2. 15 лучших модулей в Drupal 8 (среда, сентября 25, 2019 - 16:11 ),

Drupal 8 одна из популярнейших CMS в области создания сайтов. При этом для неё доступно огромное количество модулей, упрощающих жизнь как простому разработку, так и обычному пользователю.

читать...
# 3. Созадние списка взаимосвязанных материалов (related post, content) (вторник, сентября 24, 2019 - 20:00 ),

Ни одна статья не обойдётся без списка взаимосвязанных материалов. читать...

# 4. Drupal 8. Как отключить кэширование отдельных страниц. (пятница, сентября 20, 2019 - 14:35 ),
Не знаю как Вы, но я потратил несколько часов чтобы отключить кэширование страниц самописного модуля. читать...
# 5. Копирую, копирую, копирую… (вторник, июня 12, 2018 - 09:59 ),

Сколько времени приходится тратить на копирование данных, перед тем как приступить к их модификации, перенос или восстановление? Много. читать...

Комментарии

Необходимо добавить файл development.services.yml следующего содержания:

# Local development services.
#
# To activate this feature, follow the instructions at the top of the
# 'example.settings.local.php' file, which sits next to this file.
parameters:
  http.response.debug_cacheability_headers: false
services:
  cache.backend.null:
    class: Drupal\Core\Cache\NullBackendFactory

После этого добавить в sites/default/settings.php

if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
  include $app_root . '/' . $site_path . '/settings.local.php';
}

Далее открыть settings.local.php и указать:

$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';

Подробно об этом написано в "Disable Drupal 8 caching during development"

На разработку сайта! Скидки до 20%!