我正在尝试覆盖/扩展Ebizmarts SagePay Suite Ebizmarts_SagePaySuite_Model_Api_Payment
模型类
我的模块看起来像这样:
等/模块/ Sulman_ModifySagePay.xml
<?xml version="1.0"?>
<config>
<modules>
<Sulman_ModifySagePay>
<active>true</active>
<codePool>local</codePool>
<version>1.0</version>
<depends>
<Ebizmarts_SagePaySuite />
</depends>
</Sulman_ModifySagePay>
</modules>
</config>
应用程序/代码/本地/萨勒曼/ ModifySagePay的/ etc / config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Sulman_ModifySagePay>
<version>0.0.1</version>
</Sulman_ModifySagePay>
</modules>
<global>
<models>
<sagepaysuite>
<rewrite>
<api_payment>Sulman_ModifySagePay_Model_Api_Payment</api_payment>
</rewrite>
</sagepaysuite>
</models>
</global>
</config>
应用程序/代码/本地/萨勒曼/ ModifySagePay /型号/原料药/ Payment.php
<?php
class Sulman_ModifySagePay_Model_Api_Payment extends Ebizmarts_SagePaySuite_Model_Api_Payment {
public function _construct(){
Mage::log('in my construct()', null, 'Sulman.log');
}
public function requestPost($url, $data, $returnRaw = false) {
Mage::log('in my requestPost()', null, 'Sulman.log');
}
}
没有记录任何内容,这会在结帐页面上出现错误,因为:
当我检查它是否被实例化时,它返回false
(如果我禁用我的模块它将返回Ebizmarts_SagePaySuite_Model_Api_Payment
对象):
var_dump(Mage::getModel('sagepaysuite/api_payment'));
整个网站对此模型的其他调用也会失败。
我有点困惑,因为看起来我的重写工作正常,但它似乎无法找到我的新模型类。
任何人都有任何想法我会出错?
由于
答案 0 :(得分:0)
在&lt; models&gt;&lt; / models&gt;中的 app / code / local / Sulman / ModifySagePay / etc / config.xml 中您需要定义模型所在位置的部分:
<models>
<modifysagepay>
<class>Sulman_ModifySagePay_Model</class>
<modifysagepay>
</models>