[英]OrderConfirmationController.php page under prestashop can execute custom module
我想在前端订单确认完成时添加一个表,当管理员也可以为客户订购时也是如此。 那么,当任何订单放置然后模块可以执行或者直接可以放置命令确认控制器或管理控制器时,是否存在prestashop fire触发器中的任何系统
如果可能,请告诉我。
示例 - 我已经创建了一个模块,并希望在OrderConfirmationController.php运行或订单确认时将记录添加到新表中。 然后在管理订单中确认相同的方式。
提前致谢。
谢谢。
您可以通过不同方式跟踪订单创建和编辑。 这完全取决于你的需要。 我在下面描述一些与订单管理相关的钩子。
actionObjectOrderAddBefore
如果要在保存到数据库之前验证新订单,可以使用此挂钩。
actionObjectOrderAddAfter
在数据库中保存新订单后将执行此挂钩。 您可以使用此挂钩来满足您的需求。
actionObjectOrderUpdateBefore
在更新现有订单之前将调用此挂钩。 但是我不推荐使用这个钩子,因为每次更新现有订单的任何字段时都会调用此钩子。
actionObjectOrderUpdateAfter
在将任何订单字段更新到数据库之后,将立即调用此挂钩。 如果要在自定义表中为相应的顺序创建条目,请不要使用此挂钩。
actionValidateOrder
每当客户下新订单时,都会执行此挂钩。 如果没有依赖于付款成功,您可以使用此挂钩,因为此挂钩在创建订单后执行但不保证客户将支付订单金额。
订单确认
这是在客户下订单后跟踪订单详细信息的最佳和可推荐的钩子。 在创建数据库订单以及付款成功后调用此挂钩。
有关更多信息或任何查询回复我。
您可以在已创建的自定义模块中使用actionValidateOrder
挂钩。 每次生成订单时都会调用此挂钩。
使用以下代码注册钩子(内部install()函数)
$this->registerHook('actionValidateOrder');
然后按如下方式定义钩子的函数,每当生成新订单时都会调用它:
public function hookActionValidateOrder($params)
{
--- YOUR CODE HERE ---
}
您可以使用Hook actionValidateOrder或覆盖PaymentModule :: validateOrder,甚至可以覆盖Order :: add。 这取决于您想要做什么以及您需要什么数据。 需要订单完成吗? 在订单完成之前,您需要保存或更改某些内容吗? 您可以在需要之前或之后使用父函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.