Chciałbym użyć nowego tagowania pamięci podręcznej w D8, aby zsynchronizować powiązane treści różnych typów (encje, węzły, bloki itp.). Ale po przeczytaniu obecnie dostępnej dokumentacji tej funkcji nie rozumiem, jak dodać własny znacznik pamięci podręcznej do elementów treści podczas tworzenia / aktualizowania tych elementów.
Na przykład podczas tworzenia nowego węzła typu Store chciałbym dodać lokalizację znacznika pamięci podręcznej: nowy_kork_123 i to samo dla bloku. Następnie, jeśli zmieniłem nazwę wyświetlaną lokalizacji New York 123 na SoHo, mógłbym unieważnić tag pamięci podręcznej i zaktualizować wszystkie powiązane treści.
Odpowiedzi:
Oto jak używać znaczników pamięci podręcznej w kontekście niestandardowych bloków, które próbowałem i działam, ale myślę, że dotyczy to innych kontekstów
Użyj domyślnych tagów drupal
W tablicy kompilacji, którą możesz określić,
cache > tags > node_list
treść bloku zostanie unieważniona (odświeżona), gdy DOWOLNY WĘDEK zostanie zmieniony i nic więcej nie zrobisz z twojej stronyAlternatywnie możesz podać jeden lub więcej identyfikatorów węzłów / terminów / użytkowników, aby unieważnić tablicę na określonych węzłach lub terminach, jak pokazano w komentarzu do kodu powyżej. Uwaga: możesz łączyć i dopasowywać węzły, terminy, użytkowników i tagi niestandardowe według własnego uznania.
Użyj własnych tagów
jeśli chcesz mieć własny sposób czyszczenia tablicy kompilacji, dodaj niestandardowy unikatowy tag do tablicy kompilacji (wystarczy dowolny unikatowy ciąg)
oraz w niestandardowym wywołaniu logiki kodu
invalidateTags
z własnym znacznikiemjeśli chcesz przeczytać więcej o wewnętrznych elementach pamięci podręcznej drupal 8
źródło
cache_tags.invalidator
usługi, a nie bezpośrednio odwoływać się do klasy.