Переписать Magento Core Block не работает

Извините, что прерываю вас, но уже некоторое время смотрю на эту проблему, и я очень расстроен.

Я сделал модуль для перезаписи 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 / Каталог / Блок / Продукт / Вид / Тип /:

Мой файл 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>

Я сделал мой модуль активным в приложении / code / etc / modules /, где у меня есть файл с именем DennisKirkebak_All.xml, и я вижу свой модуль в бэкэнде Magento.

Может кто-нибудь подсказать, пожалуйста, как мне решить эту проблему?

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>

Кроме того, я заметил, что Magento иногда ведет себя странно, когда вы переносите строки в своих XML-файлах, поэтому старайтесь держать их в одной строке.

0

По вопросам рекламы [email protected]