Jump to content

gestion des caches insatisfaisante


henribaeyens

Recommended Posts

J'ai remarqué un truc au niveau des caches, par exemple pour le module blockcategories. Si le template est caché, la requête (celle qui va chercher les catégories) n'est pas exécutée.

 

  if (!$this->isCached('blockcategories.tpl', $smartyCacheId))
 {
  $maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH');
  if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
FROM `'._DB_PREFIX_.'category` c
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.$id_lang.')
LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)
WHERE (c.`active` = 1 OR c.`id_category` = 1)
'.((int)($maxdepth) != 0 ? ' AND `level_depth` <= '.(int)($maxdepth) : '').'
AND cg.`id_group` IN ('.pSQL($groups).')
GROUP BY id_category
ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'c.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))
  )
return;

 

On va direct à l'affichage du template caché. Admettons que je sois en mode production, que la compilation des templates soit désactivée et que ceux-ci soient mis en cache. Si je modifie par exemple la position des catégories (je suis d'accord, ça n'arrive pas tous les jours) alors cette modification ne sera pas prise en compte justement parce que la requête n'est pas exécutée. Pour qu'elle le soit, il faut que j'aille supprimer le template caché.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...