Magento: блок перезаписи не работает - PullRequest
6 голосов
/ 05 марта 2012

Я пытаюсь переписать файл ядра из magento. Как-то не переписывает код. Я пытаюсь переписать функцию getProduct ().

Tipfix / Block / Product / view.php

<?php

class WP_Tipfix_Block_Catalog_Product_View extends Mage_Catalog_Block_Product_View
{

    public function getProduct()
    {

        if (!Mage::registry('product') && $this->getProductId()) {
            $product = Mage::getModel('catalog/product')->load($this->getProductId());
            Mage::register('product', $product);
        }

        //return Mage::registry('product');
    }
}

Tipfix / и т.д. / config.xml

<blocks>
    <WP_Tipfix>
        <class>WP_Tipfix_Block</class>
    </WP_Tipfix>
    <catalog>
        <rewrite>
            <product_view>WP_Tipfix_Block_Catalog_Product_View</product_view>
        </rewrite>
    </catalog>
</blocks>

Я знаю, что я делаю неправильно.

Gr. Lex

Ответы [ 2 ]

9 голосов
/ 05 марта 2012

Ваш класс WP_Tipfix_Block_Catalog_Product_View, что означает, что он должен находиться в папке WP/Tipfix/Block/Catalog/Product/View.php.Вы должны либо переместить ваш каталог Product в новый каталог с именем Catalog в этом месте, либо переименовать ваш класс (как класс, так и в XML) в WP_Tipfix_Block_Product_View.Я рекомендую переместить файл.

3 голосов
/ 05 марта 2012

Пожалуйста, измените содержимое config.xml вашего модуля на это, и я уверен, что он должен работать: -

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <WP_Tipfix>
            <version>1.0.0</version>
        </WP_Tipfix>
    </modules>

    <global>
        <blocks>
            <wptipfix>
                <class>WP_Tipfix_Block</class>
            </wptipfix>

            <catalog>
                <rewrite>
                    <product_view>WP_Tipfix_Block_Catalog_Product_View</product_view>
                </rewrite>
            </catalog>
        </blocks>
    </global>
</config>

Надеюсь, это поможет.


ОБНОВЛЕНИЕ: - После комментария Ben я чувствую, что должен был упомянуть, что OP должен также использовать решение, упомянутое Max в его ответить .Таким образом, ОП потребуется совместное усилие, чтобы решить его проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...