重写 Magento 核心块

问题描述 投票:0回答:2

我做了一个模块来重写

Mage_Core_Catalog_Block_Product_View_Type_Configurable
,我想在其中更改
getJSConfig
方法。

class DennisKirkebak_ConfigurableStock_Block_Product_View_Type_Configurable extends Mage_Catalog_Block_Product_View_Type_Configurable

这是我的 Configurable.php 类,我已将其放入 DennisKirkebak/Catalog/Block/Product/View/Type/ 中:

我的 config.xml 文件如下所示:

<?xml version="1.0"?>
<config>
<modules>
    <denniskirkebak_catalog>
        <version>1.0.1</version>
    </denniskirkebak_catalog>
</modules>
<global>
    <blocks>
        <catalog>
            <rewrite>
                <product_view_type_configurable>
                    DennisKirkebak_Catalog_Block_Product_View_Type_Configurable
                </product_view_type_configurable>
            </rewrite>
        </catalog>
    </blocks>
</global>
</config>

我已经在 app/code/etc/modules/ 中激活了我的模块,其中有一个名为 DennisKirkebak_All.xml 的文件,我可以在 Magento 的后端看到我的模块。

php magento module url-rewriting
2个回答
0
投票

尝试在一些你知道会输出的随机模板中对此进行 var_dump() :

Mage::getConfig()->getNode('global/blocks/catalog/rewrite/product_view_type_configurable');

我不完全确定最后一部分,如果你应该保留下划线或者可能用斜线分隔它 - 但你明白了。它将在运行时向您显示任何活动的覆盖,并让您知道是否有某些现有模块已经覆盖同一块。


0
投票

您的块类名称不匹配。将

config.xml
中的部分替换为:

<product_view_type_configurable>DennisKirkebak_ConfigurableStock_Block_Product_View_Type_Configurable</product_view_type_configurable>

我还注意到,当您将行换行到 xml 文件中时,Magento 有时会表现得很有趣,因此请尝试将其保留在一行中

© www.soinside.com 2019 - 2024. All rights reserved.