DRUPAL_CACHE_PER_PAGE compte-t-il les pages de téléavertisseur (c.-à-d. Page d'accueil? Page = 3)?

8

Je suppose que toute ma question est à peu près dans le titre ... Je me demande si les blocs qui utilisent DRUPAL_CACHE_PER_PAGE sont mis en cache sur les pages du pager (ie mysite.com/frontpage?page=3), ou si la requête du pager est ignorée (donc le bloc ne sera mis en cache qu'une seule fois pour frontpage, frontpage? page = 2, frontpage? page = 3, etc.)?

Jordan Magnuson
la source

Réponses:

5

Oui.

Voir drupal_page_get_cache()dans 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() renvoie le chemin complet, y compris les arguments GET.

Berdir
la source
1
Oui. Donc, si j'ai frontpage? Page = 1, frontpage? Page = 2, frontpage? Page = 3 ... frontpage? Page = 100, le bloc sera mis en cache 100 fois dans la base de données?
Jordan Magnuson
Encore une fois, toujours oui. :)
Berdir