Вопрос

Для одного из моего модуля я пытаюсь переписать класс mage_sales_model_quote_address_total_subtotal. Раньше я переписывал модели, без проблем с этим. Я понимаю, что абстрактные классы не могут быть переписаны. Но это, я застрял ...

Моя цель состоит в том, чтобы переписать защищенную функцию _inititem ($ адрес, $ item), я потерпел неудачу и попытался переписать каждую функцию (с Parent :: Замена классом бабушки и дедушки). Не удачи мне.

Вот моя конфигурация:

<!-- in app/code/local/Mynamespace/Mymodule/etc/config.xml -->
<?xml version="1.0"?>
<config>
<global>
    <models>
        <sales_quote>
            <rewrite>
                <address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</address_total_subtotal>
            </rewrite>
        </sales_quote>
    </models>
</global>
</config> 

И мой класс:

# in app/code/local/Mynamespace/Mymodule/Model/Sales/Quote/Address/Total/Subtotal.php
class Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal extends Mage_Sales_Model_Quote_Address_Total_Subtotal
{
protected function _initItem($address, $item)
{
    Mage::log("rewrite");
}
}

Кто -нибудь может мне помочь? Похоже, что та же проблема, что и абстрактный класс до сих пор.

Это было полезно?

Решение

Этот

<sales_quote>
        <rewrite>
            <address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</address_total_subtotal>
        </rewrite>
    </sales_quote>

Должно быть

<sales>
        <rewrite>
            <quote_address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</quote_address_total_subtotal>
        </rewrite>
    </sales>

Другие советы

Вот несколько примечаний на изображении, попробуйте понять, как создать имена моделей и переписать в config.xml:Model rewrite

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top