DRUPAL_CACHE_PER_PAGE считает страницы пейджера (то есть титульная страница? Page = 3)?


8

Я предполагаю, что весь мой вопрос в значительной степени содержится в заголовке ... Мне интересно, кэшируются ли блоки, использующие DRUPAL_CACHE_PER_PAGE, на страницах пейджера (например, mysite.com/frontpage?page=3), или запрос пейджера игнорируется (так блок будет кэшироваться только один раз для frontpage, frontpage? page = 2, frontpage? page = 3 и т. д.)?

Ответы:


5

Да.

Смотрите drupal_page_get_cache()в bootstrap.inc:

if (drupal_page_is_cacheable()) {
  $cache = cache_get($base_root . request_uri(), 'cache_page');
  if ($cache !== FALSE) {
    $cache_hit = TRUE;
  }
  return $cache;
}

request_uri() возвращает весь путь, включая любые аргументы GET.


1
Хлоп. Так что если у меня есть frontpage? Page = 1, frontpage? Page = 2, frontpage? Page = 3 ... frontpage? Page = 100, то блок будет кэшироваться 100 раз в db?
Джордан Магнусон

Опять таки да. :)
Бердир
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.