【问题标题】:Magento Extending Paypal Standard - Can't instantiate ModelMagento 扩展 Paypal 标准 - 无法实例化模型
【发布时间】:2011-10-08 06:18:43
【问题描述】:

我正在使用 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()

看起来它无法实例化标准类对象,因为第 33 行如下:

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

【问题讨论】:

    标签: magento model paypal instantiation


    【解决方案1】:

    请合并两个rewrite语句:

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

    还要确保:

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

    【讨论】:

      猜你喜欢
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 2013-07-04
      相关资源
      最近更新 更多