Deshabilitar la cache en una ruta o controlador

Codigo PHP

La caché en Drupal es una maravilla, pero en algunas ocasiones puede provocarnos problemas o que necesitemos no cachear un controlador o una ruta en concreto.

La solución es muy sencilla y está disponible en una de las opciones de configuración de las rutas y es la opción de no_cache, la podemos utilizar de la siguiente manera en la ruta.

tarea.mis_tareas:
  path: '/tareas'
  defaults:
    _title: 'Mis tareas'
    _controller: '\Drupal\tarea\Controller\TareaController::myTasks'
  requirements:
    _permission: 'access content'
  options:
    no_cache: 'TRUE'

Y listo, hay que añadir esa opción y Drupal no cacheara nuestro controlador. Debemos asegurarnos de que TRUE está escrito en mayúsculas y entre comillas, de lo contrario no funcionará y es posible que incluso nos de algún error.

Comparte este artículo:
Publicado por Borja
Image

Me metí en la aventura de Drupal con la versión 6, y aquí estoy, 10 años después, escribiendo articulos y haciendo videos sobre Drupal, quien me lo iba a decir. Aunque he probado otros framworks y cms, me quedo con Drupal de lejos, pero Symfony y Django estan entre mis favoritos. Aficionado a la montaña, la bicicleta, y el comer, de eso que no falte.