我使用的是帶有RWD主題的Magento 1.9.1.0,我想從cms /塊中顯示更多的菜單項(品牌,多種類型的鏈接)。我已經改變了template/page/html/topmenu/renderer.phtml
文件和關閉</ul>
後添加此:Magento cms/blocks沒有正確緩存
$identifier = str_replace(array(Mage::getBaseUrl(),'/'),array('','-'),$child->getUrl());
$html .= '<div class="brands">';
$html .= $this->getLayout()->createBlock('cms/block')->setBlockId('mainmenu_brands_'.$identifier)->toHtml();
$html .= '</div>';
那麼這段代碼是foreach()
通過菜單項循環,並使得有可能每個菜單項後增加一些額外的鏈接內。
通常這應該在XML中,但cms /塊的標識符是動態的,所以我找不到更好/更好的解決方案。
一切工作完美,但..當我啓用緩存(BLOCK_HTML
緩存)沒有出現!我已經做了一些故障排除並測試了一些東西。動態標識符是問題。當我使用靜態標識符時,它的工作非常完美,但這種方式在任何地方都有相同的鏈接。
如何讓這與緩存工作?