Question

J'ai un bloc qui affiche une évaluation aléatoire dans le pied de page.Mais quand le BLOCK_HTML le cache est actif, il est mis en cache et n'affiche pas d'avis aléatoire.

J'ai ajouté le bloc dans le thème local.xml:

<?xml version="1.0"?>
<layout version="0.1.0">
  <default>
    <!-- other stuff-->
    <reference name="footer">
      <!-- other stuff-->
      <block type="core/template" template="custom/random-review.phtml" name="random_review">
        <action method="setCacheLifetime"><s>null</s></action>
        <!-- <action method="setCacheLifetime"><s>0</s></action> I tried both, and I know the diffrence -->
      </block>
      <!-- other stuff-->
    </reference>
    <!-- other stuff-->
  </default>
  <!-- other stuff-->
</layout>

Le modèle lui-même n'a pratiquement aucun rapport avec cette question. Mais j'ai essayé ceci dans /template/custom/random-review.phtml:

<?php
echo rand (0,10000);
// the real template that fetches the random review.

On l'appelle dans /template/page/html/footer.phtml:

<!-- other footer stuff -->
<?php echo $this->getChildHtml('random_review') ?>
<?php //echo $this->getChildHtml('random_review', false)  // Also doesn't work ?>
<!-- other footer stuff -->

Qu'est-ce que j'oublie ici?Pourquoi ce bloc est-il mis en cache ?

Était-ce utile?

La solution

Il est fort probable que votre bloc ne soit pas mis en cache.
Le bloc de pied de page est mis en cache.
Et comme le pied de page contient votre bloc, il semble qu'il soit mis en cache.

Vous devrez changer la clé de cache de votre bloc de pied de page.

Voici comment procéder ou déplacez votre bloc en dehors du pied de page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top