Magento-重写层次结构

Magento-重写层次结构,magento,Magento,重写一个已经在magento中重写另一个类的类需要什么配置 例如,有一个社区模块执行以下操作: <models> <modulea> <adminhtml> <rewrite> <session>CompanyA_ModuleA_Model_Adminhtml_Session</session> </rewrite&

重写一个已经在magento中重写另一个类的类需要什么配置

例如,有一个社区模块执行以下操作:

<models>
    <modulea>
        <adminhtml>
            <rewrite>
                <session>CompanyA_ModuleA_Model_Adminhtml_Session</session>
            </rewrite>
        </adminhtml>
    </modulea>
</models>

公司模块模型管理会话
我想重写社区模块,我正在尝试以下不起作用的代码:

<models>
    <moduleb>
        <class>CompanyB_ModuleB_Model</class>
    </moduleb>
    <modulea>
            <rewrite>
                <adminhtml_session>CompanyB_ModuleB_Model_Adminhtml_Session</adminhtml_session>
            </rewrite>
    </modulea>
</models>

公司B_模块B_模型
公司模块模式管理会话

这有什么问题呢?请仔细阅读您的重写XML语法,您有一个错误。它应该是:

<modulea>
        <adminhtml>
            <rewrite>
                <adminhtml_session>CompanyA_ModuleA_Model_Adminhtml_Session</session>
            </rewrite>
        </adminhtml>
    </modulea>
CompanyB模型php文件:

class CompanyB_ModuleB_Model_Adminhtml_Session extends CompanyA_ModuleA_Model_Adminhtml_Session {
最后一件事,为了确保重写是按良好的顺序完成的(当执行
Mage::getModel('adminhtml/session')
您想要检索CompanyB类而不是COmpanyA类时),您需要定义哪个模块取决于哪个模块。您可以在
app/etc/modules/Company\u Module.xml
文件中执行此操作

为A公司添加:

<depends>
    <Mage_Adminhtml />
</depends>

为B公司添加:

<depends>
    <CompanyA_ModuleA />
</depends>

请小心重写XML语法,您有一个错误。它应该是:

<modulea>
        <adminhtml>
            <rewrite>
                <adminhtml_session>CompanyA_ModuleA_Model_Adminhtml_Session</session>
            </rewrite>
        </adminhtml>
    </modulea>
CompanyB模型php文件:

class CompanyB_ModuleB_Model_Adminhtml_Session extends CompanyA_ModuleA_Model_Adminhtml_Session {
最后一件事,为了确保重写是按良好的顺序完成的(当执行
Mage::getModel('adminhtml/session')
您想要检索CompanyB类而不是COmpanyA类时),您需要定义哪个模块取决于哪个模块。您可以在
app/etc/modules/Company\u Module.xml
文件中执行此操作

为A公司添加:

<depends>
    <Mage_Adminhtml />
</depends>

为B公司添加:

<depends>
    <CompanyA_ModuleA />
</depends>


这不能是正确的语法。xpath应该是
global/models/adminhtml/rewrite/session
(其中没有modulea或moduleb)。这不是正确的语法。xpath应该是
global/models/adminhtml/rewrite/session
(其中没有modulea或moduleb)。在
中应该是小写的d