重写第一到第二工作但是第二到第三工作不能正常工作

时间:2013-05-16 05:09:56

标签: magento

我正在重写AW_Blog_Block_Cat并且它运行良好。

<global>
    <blocks>
       <blog>
            <rewrite>
                <cat>King_Ring_Block_Updates_Cat</cat>
            </rewrite>
        </blog>
    </blocks>
</global>

现在我想在其他模块中覆盖上面的类King_Ring_Block_Updates_Cat并且它不会覆盖。仍然显示上面的类(King_Ring_Block_Updates_Cat),没有显示下面的类(Cat_Rat_Block_Updates_Bat)。谁能告诉我为什么会这样?

配置是:

<global>
    <blocks>
       <ring>
            <rewrite>
                <updates_cat>Cat_Rat_Block_Updates_Bat</updates_cat>
            </rewrite>
        </ring>
    </blocks>
</global>

班级定义

Cat_Rat_Block_Updates_Bat扩展了King_Ring_Block_Updates_Cat

2 个答案:

答案 0 :(得分:1)

检查XML以进行第二次重写。

  • 您正在将模块名称作为<ring>启动,并以</blog>结束,而不是响铃。
  • 另一个问题是,您开始使用标记<updates_cat>,并以</cat>结尾。

您是否希望此处的开发人员解析您的XML并检查您的拼写错误? 在发布此处之前,请仔细检查您的代码。

按照我的说法更改所需的内容,清除缓存,它应该可以正常工作。

答案 1 :(得分:0)

我最终找到了它。配置或路径没有任何问题。 它是在我的 Layout.xml 中,因为我一直在调用错误的块类型来覆盖。我一直在调用已被第二个块重写的相同父块类型,这就是它从未被渲染的原因。

现在为了覆盖第二个块,我指定了块类型,显然它可以工作!!

<block type="rat/updates_bat" name="N" template="whatever temp"/>.