【问题标题】:Prestashop payment module overridePrestashop 支付模块覆盖
【发布时间】:2014-01-31 14:24:15
【问题描述】:

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

【问题讨论】:

    标签: payment-gateway 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。

    【讨论】:

    • 感谢@AlexDeb 的回复。据我所知,我应该把这个 MyPaymentModule.php 文件放在“mymodule/override/classes/MyPaymentModule.php”上,对吗?如果我错了,请纠正我。
    • 不不,只需在你的模块文件夹中创建一个文件夹“classes”,然后当你需要它时:require_once(PS_MODULE_DIR . 'yourmodule' . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . 'MyPaymentModule.php');
    猜你喜欢
    • 2015-02-12
    • 1970-01-01
    • 2011-09-02
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多