1

覆盖方法的正确方法是什么,例如 Mage_Checkout_Block_Links::addCartLink() 方法。

我的目标是在 Mage_Checkout_Block_Links::addCartLink() 方法之前添加一些 HTML。但是,我不知道从哪里开始或在我的自定义主题下复制和编辑哪个文件。

我正在考虑这样的事情:

public function addLink($beforeText='<i class="icon-shopping-cart"></i>')

感谢您的帮助!

4

2 回答 2

1

您可以通过以下方式执行此操作:首先您必须在 config.xml 中重写核心块功能的代码。代码将像

<checkout>
        <rewrite>
            <links>My_Module_Block_Checkout_Links</links>
        </rewrite>
    </checkout>.

比在你的块中创建带有结帐的文件夹和文件机智link.php。并且在link.php中扩展你的类。extends My_Module_Block_Checkout_Links用新代码编写你的链接函数。我希望这会对你有所帮助。我没有检查这段代码,但是以前做过这样的工作。

于 2013-04-16T15:46:14.693 回答
0

您可以通过简单的覆盖或模块/块重写来完成(推荐但需要更多的努力和 Magento 知识)。

使用覆盖:在本地文件夹中创建一个 Mage 文件夹。复制文件类 Mage_Checkout_Block_Links 并将其放置在与核心文件夹中相同的路径中。修改函数 public function addCartLink()。

使用重写:创建名称空间文件夹而不是 mag 文件夹。还要确保您有一个重写节点,如上面帖子中所述

其他方式:另外,如果您只是修改“我的购物车”语言定义,就可以了。

于 2013-04-16T19:52:57.850 回答