2

不知道这里发生了什么:

在我的 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 时,它会呈现更改。

我还完全删除了这个模板文件以及任何其他可能像 default../../topmenu.phtml 一样回退的模板文件 - 但菜单呈现良好,表明它没有使用这些模板文件?

我也尝试过以同样的方式更新 top.phtml 没有运气?

每次更新都会清除缓存。

我一定遗漏了一些东西 - 有什么想法吗?

4

1 回答 1

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();
}    

这将告诉您顶部导航正在使用哪个模板。如果没有任何输出,那么很可能您的系统对此类进行了重写。

于 2013-03-18T22:11:00.313 回答