我想添加一个表,当前端订单确认完成时,同样的方式,管理员也可以为客户订购。那么,在prestashop中有没有系统在下单时触发,然后模块就可以执行,或者可以直接放在订单确认控制器或管理员订单控制器上
如果可能的话,请告诉我。
示例-我已经制作了一个模块,当OrderConfirmationController.php运行或订单确认时,我想添加一条记录到新表中。同样的方式在管理订单中得到确认。
提前谢谢。
谢谢。
发布于 2017-02-14 19:03:43
您可以通过不同的方式跟踪订单的创建和编辑。这将完全取决于您的需求。我在下面描述一些与订单管理相关的钩子。
如果你想在保存到数据库之前验证新订单,你可以使用这个钩子。
此挂钩将在数据库中保存新订单后执行。你可以使用这个钩子来满足你的需求。
此钩子将在更新现有订单之前调用。但是我不推荐使用这个钩子,因为每次更新现有顺序的任何字段时都会调用这个钩子。
这个钩子将在将订单的任何字段更新到数据库后立即调用。如果您想在定制表中为相应的订单创建条目,请不要使用此挂钩。
只要客户下了新订单,就会执行这个钩子。如果您不依赖于支付成功,则可以使用此挂钩,因为此挂钩在创建订单后执行,但不能保证客户是否会为订单支付金额。
这是在客户下订单后跟踪订单详细信息的最佳和推荐的钩子。此钩子在向数据库中创建订单以及支付成功后调用。
如需更多信息或任何查询,请回复我。
发布于 2017-02-13 22:25:18
您可以在已创建的自定义模块中使用actionValidateOrder挂钩。每次生成订单时都会调用此钩子。
使用以下代码注册钩子(在install()函数中)
$this->registerHook('actionValidateOrder');然后定义钩子的函数,如下所示,只要生成了新订单,就会调用该函数:
public function hookActionValidateOrder($params)
{
--- YOUR CODE HERE ---
}发布于 2017-02-11 05:35:56
您可以使用Hook或覆盖PaymentModule::validateOrder,甚至覆盖actionValidateOrder::add。这取决于你想要做什么,以及你需要什么数据。需要完成订单吗?在订单完成之前,您是否需要保存或更改某些内容?您可以在需要执行的操作之前或之后使用父函数。
https://stackoverflow.com/questions/42167372
复制相似问题