0

カスタム オブザーバーがイベントを検出しないという問題があります。モジュールが有効になり、ダッシュボードの詳細セクションに表示されます。すべてのキャッシュなどをクリアしたので、小さな構成の問題である必要があります。

誰でも問題を見つけるのを助けることができますか?

config.xml

<modules>
    <Hatclub_MembershipHandler>
        <version>1.0.0</version>
    </Hatclub_MembershipHandler>
</modules>

<global>

    <models>
        <dispatcher>
            <class>Hatclub_MembershipHandler_Model</class>
        </dispatcher>
    </models>

    <events>

        <customer_register_success>
            <observers>
                <registration_success_observer>
                    <class>dispatcher/observer</class>
                    <method>associateMembership</method>
                </registration_success_observer>
            </observers>
        </customer_register_success>

        <customer_session_init>
            <observers>
                <session_init_observer>
                    <class>dispatcher/observer</class>
                    <method>associateMembership</method>
                </session_init_observer>
            </observers>
        </customer_session_init>

        <customer_login>
            <observers>
                <login_observer>
                    <class>dispatcher/observer</class>
                    <method>associateMembership</method>
                </login_observer>
            </observers>
        </customer_login>

    </events>

</global>

Observer.php

class Hatclub_MembershipHandler_Model_Observer {

    // this is hook to magento event dispatched before action is run [only allow if membership exists]
    public function associateMembership(Varien_Event_Observer $observer) {

        // event
        $event = $observer->getEvent()->getControllerAction()->getFullActionName();

        Mage::log('**** EVENT FIRED ****' . $event);

        Mage::log(json_encode($observer->getEvent()));

    }

}
4

1 に答える 1

2

config.xmlに変更します

<modules>
    <Hatclub_MembershipHandler>
        <version>1.0.0</version>
    </Hatclub_MembershipHandler>
</modules>

<global>

    <models>
        <dispatcher>
            <class>Hatclub_MembershipHandler_Model</class>
        </dispatcher>
    </models>

    <events>

        <customer_register_success>
            <observers>
                <registration_success_observer>
                    <class>Hatclub_MembershipHandler_Model_Observer</class>
                    <method>associateMembership</method>
                </registration_success_observer>
            </observers>
        </customer_register_success>

        <customer_session_init>
            <observers>
                <session_init_observer>
                    <class>Hatclub_MembershipHandler_Model_Observer</class>
                    <method>associateMembership</method>
                </session_init_observer>
            </observers>
        </customer_session_init>

        <customer_login>
            <observers>
                <login_observer>
                    <class>Hatclub_MembershipHandler_Model_Observer</class>
                    <method>associateMembership</method>
                </login_observer>
            </observers>
        </customer_login>

    </events>

</global>

間違ったクラス名について言及しました。

于 2013-01-13T08:58:02.590 に答える