我做了一个模块来重写
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 的后端看到我的模块。
尝试在一些你知道会输出的随机模板中对此进行 var_dump() :
Mage::getConfig()->getNode('global/blocks/catalog/rewrite/product_view_type_configurable');
我不完全确定最后一部分,如果你应该保留下划线或者可能用斜线分隔它 - 但你明白了。它将在运行时向您显示任何活动的覆盖,并让您知道是否有某些现有模块已经覆盖同一块。
您的块类名称不匹配。将
config.xml
中的部分替换为:
<product_view_type_configurable>DennisKirkebak_ConfigurableStock_Block_Product_View_Type_Configurable</product_view_type_configurable>
我还注意到,当您将行换行到 xml 文件中时,Magento 有时会表现得很有趣,因此请尝试将其保留在一行中