Mamy moduł usług niestandardowych i witrynę w Drupal 7, i dostałem zadanie usunięcia pamięci podręcznej po dodaniu przez edytora nowej zawartości lub aktualizacji istniejących.
Czytałem o module o nazwie Akcje pamięci podręcznej , ale, jak powiedziałem, muszę utworzyć funkcję w moim module niestandardowym.
Zacząłem też czytać o hakach Drupala, ale wciąż nie mam pojęcia, jak wykonać to zadanie. Jakieś sugestie? Dzięki.
Odpowiedzi:
Wygląda na to, że masz już moduł niestandardowy, ale na wypadek, gdybyś nie zobaczył Przewodnika dla programistów .
Haki których szukasz są
hook_node_insert()
ihook_node_update()
, a funkcja, aby wyczyścić pamięć podręczną będzie albocache_clear_all()
albodrupal_flush_all_caches
. Pierwszy pozwoli wyczyścić określone kosze pamięci podręcznej (a nawet określone elementy pamięci podręcznej), a drugi wyczyści absolutnie wszystko.Na przykład:
lub aby wyczyścić tylko statyczną pamięć podręczną strony po zaktualizowaniu węzła:
źródło
Możesz łatwo wyczyścić określoną pamięć podręczną węzłów po ich aktualizacji. Dawny. :
Pamiętaj, że musisz to określić
array('absolute' => TRUE)
.źródło