我遇到了一個奇怪的問題,其中magento似乎已停止將活動和活動父類寫入我的菜單。Magento頂部菜單突然停止寫入「活躍」類
我一直在使用默認的Magento菜單,它已經工作了一個月左右。我清除了緩存並重新編制了類別和產品的索引。
任何意見讚賞..這可能是一個文件permision問題?
我遇到了一個奇怪的問題,其中magento似乎已停止將活動和活動父類寫入我的菜單。Magento頂部菜單突然停止寫入「活躍」類
我一直在使用默認的Magento菜單,它已經工作了一個月左右。我清除了緩存並重新編制了類別和產品的索引。
任何意見讚賞..這可能是一個文件permision問題?
跟隨Benmark的建議,禁用塊Html緩存和活動類被再次寫入。
Magento的HTML塊緩存是一個相當奇怪的野獸。他們只啓用了幾塊功能,其中一塊是頂層菜單(根據您使用的Magento版本,模板文件不同)。
如果你想保持塊緩存上,遠離錯誤的,那麼你可以創建一個新的塊類型的
extends Mage_Catalog_Block_Navigation
一個模塊,並設置在塊的_construct()
方法如下數據:
$this->addData(array(
'cache_lifetime' => null,
'cache_tags' => array(Mage_Catalog_Model_Category::CACHE_TAG, Mage_Core_Model_Store_Group::CACHE_TAG),
));
這將緩存時間設置爲空,即禁用它。
然後,在您的佈局文件中,您需要找到(在page.xml
)導航欄。它具有以下標籤:
<block type="catalog/navigation"...
,你需要用自己的模塊的導航模塊類來代替:
<block type="mycompany/navigation"
刷新緩存,你應該找到你的類表現正常。有關Magento佈局的更多信息,我真的推薦Alan Storm的優秀書籍'No Frills Magento Layout',並且爲您的Magento調試工具添加了一些新功能,請查看this module,其中顯示了哪些塊正在緩存(以及其他有用塊信息的整個加載)。
,我在我的local.xml中這個XML改變解決了這個問題:
<default>
<reference name="catalog.topnav">
<action method="unsetData"><key>cache_lifetime</key></action>
<action method="unsetData"><key>cache_tags</key></action>
</reference>
</default>
禁用塊HTML緩存完全,看看是否有差別 – benmarks