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.)?

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.