3

私はマジェントに取り組んでいます。ユーザーが注文すると、注文の履歴コメントにコメントが追加される機能を追加したい。私はコードを調べて、関数が

 public function addStatusHistoryComment($comment, $status = false)

コメントを追加するには、in order.php を使用します。ユーザーが注文したときにアクセスしたい。では、どうすればそれを行うことができますか? 誰にもアイデアはありますか?

4

1 に答える 1

4

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();
    }

それが役立つことを願っています!

于 2012-09-24T14:44:00.597 に答える