第一條:我瞭解如何在後臺的自定義表中創建自定義模塊。我已經做到了這一點,它工作正常,我可以在後端保存一些信息。 (名稱:app/code/TestModule/Module)Magento 2 - 如何在定製表成功訂單後保存數據
但現在我嘗試自定義訂單流程。 我想保存一些數據,如'oder_id'和'order_date'在自定義表中。
該過程應該在訂單成功後自動工作。
問題: 我不明白我如何可以將這些信息存儲在自定義表中。
我有這個在我的success.phtml在前端檢查數據:
<?php
$block->getOrderId()
$block->getShippingMethod()
?>
數據在我座/ Onepage/Success.php
調用一個函數,在這裏...
public function getShippingMethod()
{
return $this->_checkoutSession->getLastRealOrder()->getShippingMethod();
}
...
好吧,現在我對接下來的步驟沒有任何想法。例如:我在這裏看到這個嘖嘖In magento 2 what is the correct way for getModel?,但它不幫助我。
有關stackflow的其他問題只回答如何構建模塊或如何顯示訂單信息。
我認爲我必須做這樣的事情:
$this->_Modulename->addData($data);
$this->_transaction->save();
但經過閱讀3天,我在這裏試試我的運氣。 我不需要最終的解決方案,我不想複製和粘貼答案代碼,我只是想了解如何「保存成功後自定義表格中的數據」的作品。
我把你們所有的事情都拿走了,因爲我知道了自己的知識。
TYIA
你看過Magento中的事件觀察者嗎?他們確實存在這種問題 - 您可以定義一個函數,以便在訂單被保存時觸發,然後以您認爲合適的任何方式對訂單數據進行操作。在這種情況下,您只需檢查訂單是否是新的,如果是,請將必要的數據複製到自定義表格中。由於您建議您需要order_id,因此您需要使用sales_order_save_after事件。 http://devdocs.magento.com/guides/v2.0/extension-dev-guide/events-and-observers.html –
嗨,謝謝你的信息。那麼,我明白你的意思,但我不知道如何以這種方式使用'sales_order_save_after事件'。請給我舉個例子嗎? – Irv