Je souhaite utiliser le nouveau balisage de cache dans D8 pour aider à synchroniser le contenu associé de différents types (entités, nœuds, blocs, etc.). Mais à la lecture de la documentation actuellement disponible de cette fonctionnalité, je ne comprends pas comment ajouter ma propre balise de cache aux éléments de contenu lors de la création / mise à jour desdits éléments.
Par exemple, lors de la création d'un nouveau nœud d'un type Store, je voudrais ajouter l'emplacement de la balise de cache: new_york_123 et la même chose pour un bloc. Ensuite, si j'ai changé le nom d'affichage de l'emplacement de New York 123 en SoHo, je pourrais invalider la balise de cache et avoir toutes les mises à jour de contenu associées.
Réponses:
Voici comment utiliser les balises de cache dans le contexte des blocs personnalisés que j'ai essayés et qui fonctionnent mais je pense que cela s'applique à d'autres contextes
Utiliser des balises Drupal par défaut
Dans le tableau de construction, vous pouvez spécifier
cache > tags > node_list
et ce contenu de bloc serait invalidé (actualisé) lorsque TOUT NŒUD est modifié sans rien d'autre à faire de votre partVous pouvez également insérer un ou plusieurs ID de nœud / terme / utilisateur pour invalider la baie sur des nœuds ou des termes spécifiques, comme indiqué dans le commentaire de code ci-dessus. Remarque: vous pouvez mélanger et faire correspondre les nœuds, les termes, les utilisateurs et les balises personnalisées comme bon vous semble.
Utilisez vos propres balises
si vous voulez avoir votre propre façon d'effacer votre tableau de build, ajoutez votre balise unique personnalisée dans le tableau de build (n'importe quelle chaîne unique fera l'affaire)
et dans votre appel de logique de code personnalisé
invalidateTags
avec votre propre balisesi vous voulez en savoir plus sur les internes du cache drupal 8
la source
cache_tags.invalidator
service plutôt que de référencer directement une classe.