Как переопределить/расширить локальную модель расширения в magento?


У меня возникла проблема с переопределением локального расширения модели magento.

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

Etc/modules/Mycompany_OrderExport.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Mycompany_OrderExport>
            <active>false</active>
            <codePool>local</codePool>
            <depends>
                 <Xtento_OrderExport />
            </depends>
        </Mycompany_OrderExport>
    </modules>
</config>

И вот моя конфигурация расширения: app/code/local/Mycompany/OrderExport/etc/config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Mycompany_OrderExport>
            <version>0.1.0</version>
        </Mycompany_OrderExport>
    </modules>
    <global>
        <models> 
            <orderexport>
                <class>Mycompany_OrderExport_Model</class>
            </orderexport>
            <xtento_orderexport> 
                <rewrite>
                     <export_data_shared_items>Mycompany_OrderExport_Model_Xtento_Export_Data_Shared_Items</export_data_shared_items> 
                 </rewrite>
             </xtento_orderexport> 
        </models>
    </global>
</config>

И вот моя модель:

<?php
class Mycompany_OrderExport_Model_Xtento_Export_Data_Shared_Items extends Xtento_OrderExport_Model_Export_Data_Shared_Items
{
    public function getExportData($entityType, $collectionItem)
    {

        echo 'Override';
        die(1);
    }
}
?>

Я хотел бы знать, какую часть я пропустил в своем сценарии? Потому что, когда я выполняю свой сценарий, ничего не происходит. Спасибо вам за вашу помощь.

Author: Manashvi Birla, 2014-09-23

1 answers

Это та часть, которая создает здесь проблему.

    <Mycompany_OrderExport>
        <active>false</active>
        <codePool>local</codePool>
        <depends>
             <Xtento_OrderExport />
        </depends>
    </Mycompany_OrderExport>

Вы отключили свой модуль, установив узел active как false. Включи его. Означает поставить true для активного. Убедитесь, что модуль включен на стороне администратора. Вы можете сделать это, перейдя по ссылке

 System  >  Configuration  >  Advanced

Очистите весь кэш и повторите попытку.

 2
Author: Rajeev K Tomy, 2014-09-23 01:12:20