У нас есть модуль пользовательских сервисов и сайт в Drupal 7, и я получил задачу удалить кеш после того, как редактор добавит новый контент или обновит существующие.
Я читал о модуле под названием Cache Actions , но, как я уже сказал, мне нужно создать функцию в моем пользовательском модуле.
Кроме того, я начал читать о хуках Drupal, но до сих пор не знаю, как реализовать эту задачу. Какие-либо предложения? Спасибо.
Ответы:
Похоже, у вас уже есть пользовательский модуль, но на тот случай, если вы не видите Руководство разработчика модуля .
Крючки вы ищете являются
hook_node_insert()
иhook_node_update()
, а функция очистки кэша будет либоcache_clear_all()
илиdrupal_flush_all_caches
. Первый позволит вам очистить определенные корзины кеша (и даже определенные элементы кэша), а второй очистит абсолютно все.Например:
или очистить только статический кеш страниц после обновления узла:
источник
Вы можете легко очистить кеш определенных узлов после их обновления. Ex. :
Обратите внимание, что вам необходимо указать
array('absolute' => TRUE)
.источник