У меня есть представление, и оно отлично подходит для фильтров, которые я даю. Однако, когда я запускаю это несколько раз в цикле for в моем модуле, я получаю тот же ответ на любой фильтр, который я применяю.Drupal 7 Невозможно очистить кеш представления в настраиваемом модуле
Я искал в Интернете и нашел код для отключения кэширования. Я также отключил кэширование данных просмотров из структуры-> views-> settings-> advanced. Но это не работает.
Ниже приведен пример кода:
foreach ($term_ids as $term_id) {
$view2 = test_generate_view($view_name, $display_handler, $page, $count, $term_id);
echo "<pre>";
print_r($view2);
}
function test_generate_view($view_name, $display_handler, $page, $count, $term_id = null) {
$view = views_get_view($view_name, TRUE);
$view->set_display($display_handler);
if (!empty($term_id)) {
$term_item = $view->get_item($display_handler, 'filter', 'field_ref_issue_target_id');
$term_item['value']['value'] = $term_id;
$view->set_item($display_handler, 'filter', 'field_ref_issue_target_id', $term_item);
}
$view->init_pager();
$view->pager['items_per_page'] = $count;
$view->pager['use_pager'] = true;
$view->display_handler->options['use_pager'] = true;
$view->set_items_per_page($count);
$view->pager['current_page'] = $page;
$view->is_cacheable = FALSE;
$view->pre_execute();
$view->execute();
return $view;
}
Если я не запускать их в цикле и попытаться отдельно для каждого члена-ид его работать отлично. Но если я запустил их в цикле, как показано выше, вывод будет таким же для любого term-id.