私はマジェントに取り組んでいます。ユーザーが注文すると、注文の履歴コメントにコメントが追加される機能を追加したい。私はコードを調べて、関数が
public function addStatusHistoryComment($comment, $status = false)
コメントを追加するには、in order.php を使用します。ユーザーが注文したときにアクセスしたい。では、どうすればそれを行うことができますか? 誰にもアイデアはありますか?
Magento の他のものと同様に、多くの方法があります。
まず、モジュールを作成する必要があります。そのモジュールでは、チェックアウト成功イベント (checkout_onepage_controller_success_action) をリッスンできます。モジュール etc/config.xml でそれを行います。
<events>
<checkout_onepage_controller_success_action>
<observers>
<whatever>
<type>singleton</type>
<class>whatever/observer</class>
<method>checkout_onepage_controller_success_action</method>
</whatever>
</observers>
</checkout_onepage_controller_success_action>
</events>
オブザーバーで最後の注文を読み込み、コメントを追加してから、注文を保存します。あなたが説明する方法は完全に機能します。また、注文ステータスを操作することもできます。これにより、必要に応じて顧客にメールを送信できます。
public function checkout_onepage_controller_success_action($observer) {
$orderIds=$observer->getData('order_ids');
foreach ($orderIds as $orderId) {
$order = new Mage_Sales_Model_Order();
$order->load($orderId);
... Do Something!
$order->setState('processing', 'invoiced', 'Hello World!');
$order->save();
}
それが役立つことを願っています!