¿DRUPAL_CACHE_PER_PAGE cuenta páginas de buscapersonas (es decir, portada? Página = 3)?

8

Supongo que toda mi pregunta está más o menos en el título ... Me pregunto si los bloques que usan DRUPAL_CACHE_PER_PAGE se almacenan en caché en las páginas del localizador (es decir, mysite.com/frontpage?page=3), o si la consulta del localizador no se tiene en cuenta (entonces el bloque solo se almacenaría en caché una vez para la página de inicio, página de inicio? página = 2, página de inicio? página = 3, etc.)?

Jordan Magnuson
fuente

Respuestas:

5

Si.

Ver drupal_page_get_cache()en 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() devuelve la ruta completa, incluidos los argumentos GET.

Berdir
fuente
1
Yikes Entonces, si tengo frontpage? Page = 1, frontpage? Page = 2, frontpage? Page = 3 ... frontpage? Page = 100, entonces el bloque se almacenará en caché 100 veces por separado en la base de datos?
Jordan Magnuson
De nuevo, todavía sí. :)
Berdir