不确定这里发生了什么:
在我的page.xml中,我有以下代码:
<block type="core/text_list" name="top.menu" as="topMenu" translate="label">
<label>Navigation Bar</label>
<block type="page/html_topmenu" name="catalog.topnav" template="page/html/topmenu.phtml" />
</block>
当我尝试使用一些小的HTML更改来更新page / html / topmenu.phtml时,它们不会被渲染?
当我删除此代码时,类别菜单消失,表明它是控制xml。
当我在同一主题模板中更新page / html / header.phtml时,它会呈现更改。
我还完全删除了这个模板文件,也删除了任何其他模板文件,可能会像默认的../../ topmenu.phtml一样 - 但是菜单渲染得很好,表明它没有使用这些模板文件? / p>
我也试过以同样的方式更新top.phtml而没有运气?
每次更新时都清除了缓存。
我必须遗漏一些东西 - 任何想法?
答案 0 :(得分:3)
我的第一个猜测是catalog.topnav
有另一个模块将其模板更改为page/html/topmenu.phtml
以外的其他模块,或者您的系统有一个类重写page/html_topmenu
指向一个没有'的类使用模板渲染导航。
如果您正在运行像Commerce Bug这样的调试工具,请检查顶部菜单块的模板集。
以及为page/html_topmenu
缺少调试工具,请向app/code/core/Mage/Page/Block/Html/Topmenu.php
添加一些临时调试代码以测试正在设置的模板
#File: app/code/core/Mage/Page/Block/Html/Topmenu.php
protected function _toHtml()
{
var_dump($this->getTemplate());
var_dump($this->getTemplateFile());
return parent::_toHtml();
}
这将告诉您顶部导航使用的模板。如果没有输出,那么你的系统很可能会重写这个类。