[英]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.