Bloques personalizados en Drupal y problemas con las caches
Me acabo de encontrar un problema en un proyecto de un cliente.
El caso es que tenemos un bloque personalizado con dos campos, pero solo renderizamos uno de ellos en el Twig, ya que tenemos la plantilla twig modificada y no usamos lo que viene por defecto con el {{ content }}.
¿Problema?
Si el usuario modifica el otro campo que no se renderiza, entonces no se invalidan las caches.
Y el valor de ese campo hace otras cosas que sí que afectan al frontend. Eso es un problema porque no se muestran los cambios del usuario.
Solución 1 (cutre)
Decirle al usuario que cada vez que edite ese bloque se han de vaciar caches manualmente.
Solucion 2
Modificar el twig de ese bloque para forzar a que se usen las caches de todo el contenido.
Si quieres investigar más el tema: https://www.drupal.org/project/drupal/issues/2660002
Si solo quieres una solución rápida, pon lo siguiente en la plantilla del bloque:
{% set catch_cache = content|render %}
¿Tienes algún proyecto en mente?
Si quieres hacer algo en Drupal tal vez puedas contratarme.
Ya sea para consultoría, desarrollo o mantenimiento de sitios web Drupal.