【发布时间】: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 -> Configuration -> Advanced -> Advanced -> Disable Modules Output 下正确显示为Enable,而Mage_Poll 和Mage_Tag 显示为Disable。
直接更改Mage_Paypal_Model_Express_Checkout 有效,所以我知道我的代码更改有效,但自定义模型的正确方法似乎不起作用。
我会在每次更改时刷新并刷新 Magento 缓存,因此这不仅仅是缓存问题。
我的猜测是我的config.xml 有问题,但此时我似乎无法弄清楚是什么。
有什么想法吗?或者,实现我想做的事情的更好方法也可以。
另外,我如何调试 Magento 以了解我的自定义中可能出现的错误?是否有我可以打开或查看的日志?
【问题讨论】:
标签: magento magento-1.9.1 paypal