Очистить кэш представлений после вставки узла в Drupal 7
У меня есть представления, в которых указан список деталей узла. Я установил кэш просмотров на 30 минут.
Я хочу очистить кэш определенных представлений при вставке узла.
Я попытался использовать приведенный ниже код для очистки кэша, но на моей странице нет никакой разницы.
function phponwebsites_node_insert($node) {
if ($node->type == 'tasks') {
views_invalidate_cache();
}
}
3 answers
Следующий фрагмент должен работать для вас
cache_clear_all('MY_VIEW_NAME:', 'cache_views_data', TRUE);
Попробуйте сделать это, чтобы очистить кэш отображения вида.
$view = views_get_view('VIEW-NAME');
$view->set_display('VIEW-DISPLAY');
$cache = $view->display_handler->get_plugin('cache');
$cache->cache_flush();
Смотрите функцию cache_clear_all. Попробуйте сделать это, если вам нужно очистить кэш только представлений:
cache_clear_all('*', 'cache_views', TRUE);
Редактировать: Попробуйте Действие кэша модуль. Это зависит от Правил модуля.
Действия с кэшем предоставляют действия правил для очистки кэшей drupal.
В настоящее время он предоставляет действия для:
Очистка ячеек кэша Drupal Очистка кэша CSS/JS Очистка кэша определенных представлений Очистка кэша определенных страниц панели Очистка кэша определенных мини-панелей