Bonjour à tous,
Depuis peu je suis monté au boulot sur un gros site Magento pour rajouter ( entre autre ) un block permettant de remonter des données du site sur chaque pages dans un but marketing.
J'ai donc créer tout ce qu'il fallait et tout cela fonctionne... jusqu'à que l'on active le cache .. et là c'est le drame ....
En fait le script fonctionne pour le premier utilisateur qui se ballade aprés le flush du cache.
Après que le cache se soit donc généré, le script écrit, par exemple dans entre les balises <head>, l'adresse email de l'utilisateur connecté ou encore l'heure de chargement de la page web. Cependant comme ces données se sont générées pour un utilisateur ayant mis la page en cache tout les autres utilisateurs qui se connecte sur cette page auront la même adresse que le premier utilisateur qui remonte ....
Dans mon layout principale j'ai fait :
<?php echo $this->getChildHtml('head') ?>
Qui me charge mon block head.
Ensuite dans mon layout du module j'ai fait la config avec en référence le head
1 2 3 4 5
| <cms_index_index>
<reference name="head">
<block type="page/html" name="tagsAllPage" template="tagsAllPage/allpages_tags.phtml"></block>
</reference>
</cms_index_index> |
pour faire un test j'ai simplement fait un echo time();
Première génération le echo est bon, on recharge la page 1 seconde après le echo n'a pas bougé alors qu'il aurait du prendre 1 seconde...
J'ai donc survoler les forums et j'ai pu voir de facon récurente:
1 2
| <action method="unsetData"><key>cache_lifetime</key></action>
<action method="unsetData"><key>cache_tags</key></action> |
Ce qui est balot c'est que ça ne provoque aucun changement même pas une erreur, RIEN .... Du coups je n'ai plus trop de solution ... Si quelqu'un à une idée ce serait la bienvenue ....
Merci
Partager