Очистить кэш представлений после вставки узла в Drupal 7


У меня есть представления, в которых указан список деталей узла. Я установил кэш просмотров на 30 минут.
Я хочу очистить кэш определенных представлений при вставке узла. Я попытался использовать приведенный ниже код для очистки кэша, но на моей странице нет никакой разницы.

function phponwebsites_node_insert($node) {
 if ($node->type == 'tasks') {
   views_invalidate_cache();
 }
}
Author: Guru, 2015-06-29

3 answers

Следующий фрагмент должен работать для вас

cache_clear_all('MY_VIEW_NAME:', 'cache_views_data', TRUE);
 5
Author: Andrew, 2015-06-30 18:51:39

Попробуйте сделать это, чтобы очистить кэш отображения вида.

$view = views_get_view('VIEW-NAME');
$view->set_display('VIEW-DISPLAY');
$cache = $view->display_handler->get_plugin('cache');
$cache->cache_flush();
 1
Author: mgzrobles, 2015-07-24 09:32:20

Смотрите функцию cache_clear_all. Попробуйте сделать это, если вам нужно очистить кэш только представлений:

cache_clear_all('*', 'cache_views', TRUE);

Редактировать: Попробуйте Действие кэша модуль. Это зависит от Правил модуля.

Действия с кэшем предоставляют действия правил для очистки кэшей drupal.

В настоящее время он предоставляет действия для:

Очистка ячеек кэша Drupal Очистка кэша CSS/JS Очистка кэша определенных представлений Очистка кэша определенных страниц панели Очистка кэша определенных мини-панелей

 0
Author: Sumit Madan, 2015-06-29 06:25:07