Pergunta

I have developed a top bar cart functionality for store front that displays latest three products added to the cart this works great when cache is disabled but when i enable the cache it showing weird subtotal in top cart and weird products in cart.

This make me sad :'(

I know this is happening because of cache. Is there anything that I can disable the cache for this section only? I have tried disabling the block html cache and check now this was working great but I found the category flat is having unspecified issues when block HTML is disabled.

Foi útil?

Solução

You can try

    <reference name="needed block">
        <action method="setCacheLifetime"><s>null</s></action>
    </reference>

or

    <reference name="needed block">
        <action method="setCacheLifetime" />
    </reference>

to set it to null.

But probably it is better to use ajax.

There is a good article about null or 0 meaning http://blog.kyp.fr/make-a-clean-sweep-of-commons-magento-cache_lifetime-workarounds-usage-in-cache-block-policy/ (link is broken)

Outras dicas

You can disable cache in getChildHtml(). This is what the signature looks like:

public function getChildHtml($name = '', $useCache = true, $sorted = false)

This should do the trick:

echo $this->getChildHtml('block', false);

In the particular xml file. Say catalog.xml

In that for particular reference block In that block set the action of cache limit to null

Example of catalog.xml

<reference name="right">
    <block type="catalog/navigation" name="catalog.product.cat.related" as="related_cat" template="catalog/navigation/list_cat.phtml" after="-" >
        <action method="unsetData"><key>cache_lifetime</key></action>
        <action method="unsetData"><key>cache_tags</key></action>
    </block>
</reference>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top