2014-01-31 167 views
0

我有一个关于模块覆盖的问题。为了学习目的,我创建了自定义付款模块,现在我想将购物车数量更改为总订购数量。但是 $this->module->validateOrder给出错误的金额。有没有办法来覆盖PaymentModuleCore类的validateOrder函数?Prestashop支付模块覆盖

回答

1

您可以创建自己的类并重写的功能,例如:

class MyPaymentModule extends PaymentModule 
{ 
    public function validateOrder($id_cart, $id_order_state, $amount_paid, $payment_method = 'Unknown', $message = null, $extra_vars = array(), $currency_special = null, $dont_touch_amount = false, $secure_key = false, Shop $shop = null) 
    { 
     // your code 
    } 
} 

而且你的模块扩展MyPaymentModule,不PaymentModule。

+0

谢谢@AlexDeb的回复。据我所知,我应该把这个MyPaymentModule.php文件放在“mymodule/override/classes/MyPaymentModule.php”上吗?如果我错了,请纠正我的错误。 –

+0

不,不要,只需在模块文件夹中创建一个文件夹“classes”,然后在需要时: require_once(_PS_MODULE_DIR_。'yourmodule'。DIRECTORY_SEPARATOR。'classes'。DIRECTORY_SEPARATOR。'MyPaymentModule.php'); – AlexDeb