Magento扩展Paypal标准 - 无法实例化模型

时间:2011-07-19 06:40:04

标签: magento model paypal instantiation

我正在使用Paypal 1.4.2

我已经扩展了Paypal标准模块以允许一些自定义编码

我的config.xml文件如下所示:

<?xml version="1.0"?>
<config>
<modules>
    <XYZ_Paypal>
        <version>1.0.0</version>
    </XYZ_Paypal>
</modules>

<global>
    <models>
        <paypal>
            <rewrite>
                <standard>XYZ_Paypal_Model_Standard</standard>
            </rewrite>

            <rewrite>
                <ipn>XYZ_Paypal_Model_Ipn</ipn>
            </rewrite>
        </paypal>
    </models>
</global>

现在当我尝试使用PayPal结帐时,我收到以下错误:

致命错误:在第33行的/var/www/magento/app/code/core/Mage/Paypal/Block/Standard/Redirect.php中的非对象上调用成员函数getPaypalUrl()

看起来它无法实例化Standard Class对象,因为Line 33如下:

$form->setAction($standard->getConfig()->getpaypalUrl())

1 个答案:

答案 0 :(得分:0)

请合并两个重写声明:

...
    <paypal>
        <rewrite>
            <standard>XYZ_Paypal_Model_Standard</standard>
            <ipn>XYZ_Paypal_Model_Ipn</ipn>
        </rewrite>
    </paypal>
...

同时确保:

  1. 模型的类名完全匹配(区分大小写)
  2. 您班级的路径完全匹配(区分大小写)
  3. 您正在扩展原班级。