5

Magento インストールからドロップシッパーに情報を送信しようとしています。これは、支払いが完了するとすぐに発生するはずです。私が知る限り、Magentoには支払いが完了したときに解雇されるオブザーバーがあります。

次のファイルがありますが、オブザーバーが起動していないようです: app/etc/modules/SPB_Coreextended.xml:

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

アプリ/コード/ローカル/SPB/Coreextend/etc/config.xml:

<?xml version="1.0"?>
<config>
    <modules>
        <SPB_Coreextended>
            <version>0.2.0</version>
        </SPB_Coreextended>
    </modules>
    <frontend>
        <routers>
            <checkout>
                <args>
                    <modules>
                        <SPB_Coreextended before="Mage_Checkout">SPB_Coreextended_Checkout</SPB_Coreextended>
                    </modules>
                </args>
            </checkout>
        </routers>
    </frontend>
    <global>
        <models>
            <SPB_Coreextended>
                <class>SPB_Coreextended_Model</class>
            </SPB_Coreextended>
        </models>      
        <events>
            <sales_order_payment_pay>
                <observers>
                    <SPB_Coreextended>
                        <type>singleton</type>
                        <class>SPB_Coreextended/Observer</class>
                        <method>sendOrder</method>
                    </SPB_Coreextended>
                </observers>
            </sales_order_payment_pay>     
        </events>
     </global>
</config>

アプリ/コード/ローカル/SPB/Coreextend/Model/Observer.php:

<?php
class SPB_Coreextended_Model_Observer 
{
    public function sendOrder($observer) {
        Mage::log("New order");
        $order = $observer->getInvoice()->getOrder(); // Mage_Sales_Model_Order
        Mage::log("New order");     
    }
}
?>

ご覧のとおり、config.xml から別のメソッドも呼び出していますが、これは機能します。したがって、オブザーバーのconfig.xmlセクションに問題があると確信しています。私はそれが失敗した場所を見つけることができないようです。

助けてくれてありがとう!

4

0 に答える 0