Как обновить кэшированную страницу Drupal?

Можно ли позволить Drupal обновить одну конкретную кэшированную страницу?

В настоящее время на одной странице нашего сайта представлены некоторые динамические данные таблиц с помощью мастера таблиц. После некоторого обновления в таблице MySQL страница не обновляется.

Я предполагаю, что это связано с включенным кэшированием сайта (режим кэширования установлен на: Normal). Для анонимных пользователей обновление страницы происходит через 60 минут.

Вместо того, чтобы очистить кеш всего сайта, есть ли способ позволить Drupal обновить только одну страницу? Спасибо!

1 ответ

Решение

Один из способов "позволить Drupal обновить одну конкретную" страницу - просто не допустить ее в кеш.

Модуль cacheexclude предназначен для этого. Просто скажите ему страницы, которые вы хотите сохранить в кеше.

Если вы не хотите устанавливать другой модуль, вы можете переопределить hook_init():

mymodule_init() {
  $path = drupal_get_path_alias(request_uri());
  if ($path == "<do not cache path>") {
    $GLOBALS['conf']['cache'] = FALSE;
  }
}
Другие вопросы по тегам