sales_order_save_after не является триггером? - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь настроить наблюдателя, который будет запускать команду по завершении заказа.Я попытался пометить пару заказов как завершенные, мой наблюдатель не запускается.

.xml в etc / modules

<?xml version="1.0"?>
<config>
<modules>
    <Test_ReviewRequestTrigger>
        <version>1.0</version>
    </Test_ReviewRequestTrigger>
</modules>
<global>
    <models>            
        <review_request_trigger>
            <class>Test_ReviewRequestTrigger_Model</class>
        </review_request_trigger>
    </models>
    <events>
        <sales_order_save_after>
            <observers>
                <review_request_trigger>
                    <type>singleton</type>
                    <class>Test_ReviewRequestTrigger_Model_Observer</class>
                    <method>implementOrderStatus</method>
                </review_request_trigger>
            </observers>
        </sales_order_save_after>
    </events> 
</global>
</config>

config.xml в app / code /.../ReviewRequestTrigger / etc / config.xml

<?xml version="1.0"?>
<config>
<modules>
    <Test_ReviewRequestTrigger>
        <active>true</active>
        <codePool>local</codePool>
    </Test_ReviewRequestTrigger>
</modules>
</config>

Observer.php в app/code/.../ReviewRequestTrigger/Model/Observer.php

class Test_ReviewRequestTrigger_Model_Observer 
{
    public function implementOrderStatus($event)
    {
        Mage::log("hello", null, 'test_ReviewRequestTrigger.log');
        $order = $event->getOrder();
        $stateProcessing = $order::STATE_COMPLETE;
        // Only trigger when an order enters processing state.
        if ($order->getState() == $stateProcessing && $order->getOrigData('state') != $stateProcessing) { 
        }
    }
}

1 Ответ

0 голосов
/ 26 октября 2018

В вашем файле config.xml есть несколько ошибок, которые являются вероятными виновниками.Вот ссылка для получения дополнительной информации о , как настроить наблюдателя , но ниже приведен соответствующий код, относящийся к вашему вопросу:

<events>
    <sales_order_save_after>
        <observers>
            <ReviewRequestTrigger>
                <type>singleton</type>
                <class>ReviewRequestTrigger/observer</class>
                <method>implementOrderStatus</method>
            </ReviewRequestTrigger>
        </observers>
    </sales_order_save_after>
</events> 

Обратите внимание на изменения в <ReviewRequestTrigger> обертка и <class> тег внутри него.

...