How can I disable cache for particular section or block
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)
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>