我正在进行prestashop修改,我需要在创建prestashop订单时在其他平台上创建订单。前一个程序员将代码放在“controllers / front / OrderConfirmationController.php”控制器的方法“initContent”上。问题在于这一点允许重复订单和其他衍生问题。我认为这可能是一个更好的地方。
我会问哪个地方放置代码的地方更好。
答案 0 :(得分:1)
如果您想在其他平台上创建订单,而不是取决于当前的订单状态,您可以覆盖PaymentModule :: validateOrder。
abstract class PaymentModule extends PaymentModuleCore
{
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)
{
parent::validateOrder($id_cart, $id_order_state, $amount_paid, $payment_method, $message, $extra_vars, $currency_special, $dont_touch_amount = false, $secure_key, $shop);
// use $this->currentOrder to get current id_order and create order on the other platform
}
}