【问题标题】:Magento 1.9 - Customizations to Paypal Express Checkout not workingMagento 1.9 - Paypal Express Checkout 的自定义不起作用
【发布时间】:2018-04-07 17:42:44
【问题描述】:

我正在尝试自定义 Magento Paypal Express Checkout 功能,以使用当前商店的货币而不是基础货币将订单总金额传递给 Paypal。但是,我的自定义设置没有出现在网站上。

这是我创建的:

app/code/local/My/Paypal/Model/Express/Checkout.php

<?php

class My_Paypal_Model_Express_Checkout extends Mage_Paypal_Model_Express_Checkout {

    public function getCheckoutShortcutImageUrl() {
        //Copy pasted the original code with some modifications to use
        // _quote->getGrandTotal()
    }

    public function start($returnUrl, $cancelUrl, $button = null) {
        //Copy pasted original code with modifications to use
        //_quote->getGrandTotal() and _quote->getStoreCurrencyCode()
    }

}

?>

app/code/local/My/Paypal/etc/config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <My_Paypal>
      <version>0.1.0</version>
    </My_Paypal>
  </modules>
  <global>
    <models>
      <paypal>
        <rewrite>
          <express_checkout>My_Paypal_Model_Express_Checkout</express_checkout>
        </rewrite>
      </paypal>
    </models>
  <global>
</config>

app/etc/modules/My_Paypal.xml

<?xml version="1.0"?>
<config>
  <modules>
    <My_Paypal>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </My_Paypal>
  </modules>
</config>

我看到我的模块在System -&gt; Configuration -&gt; Advanced -&gt; Advanced -&gt; Disable Modules Output 下正确显示为Enable,而Mage_PollMage_Tag 显示为Disable

直接更改Mage_Paypal_Model_Express_Checkout 有效,所以我知道我的代码更改有效,但自定义模型的正确方法似乎不起作用。

我会在每次更改时刷新并刷新 Magento 缓存,因此这不仅仅是缓存问题。

我的猜测是我的config.xml 有问题,但此时我似乎无法弄清楚是什么。

有什么想法吗?或者,实现我想做的事情的更好方法也可以。

另外,我如何调试 Magento 以了解我的自定义中可能出现的错误?是否有我可以打开或查看的日志?

【问题讨论】:

    标签: magento magento-1.9.1 paypal


    【解决方案1】:

    你的实现方式已经足够好了。唯一更好的方法是使用事件,但这并不总是可行的。

    尝试添加对 paypal 模块的依赖,并检查此模型是否已在其他地方重写。

    <config>
      <modules>
        <My_Paypal>
          <active>true</active>
          <codePool>local</codePool>
          <depends>
              <Mage_Paypal />
          </depends>
        </My_Paypal>
      </modules>
    </config>
    

    【讨论】:

    • 谢谢。我试过这样做,但似乎没有什么不同。如何调试正在发生的事情?
    猜你喜欢
    • 1970-01-01
    • 2016-04-26
    • 2015-04-11
    • 2013-02-04
    • 2015-07-25
    • 2017-12-10
    • 2013-04-08
    • 2015-01-25
    • 2015-07-17
    相关资源
    最近更新 更多