1

我正在覆盖 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

4

2 回答 2

1

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

  • 您将模块名称作为开头<ring>并以</blog>而不是 ring 本身结尾。
  • 另一个问题,您正在开始标记<updates_cat>,并以 . 结尾</cat>

您希望这里的开发人员解析您的 XML 并检查您的拼写错误吗?在此处发布内容之前,请彻底检查您的代码。

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

于 2013-05-16T10:46:31.740 回答
0

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

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

<block type="rat/updates_bat" name="N" template="whatever temp"/>. 
于 2013-05-18T08:55:14.283 回答