0

この例を機能させて、登録が成功したときに管理者に電子メールを送信しようとしています。「私は思う」私はそれを正しく設定しました...しかし、正確にはnottaが起こっています:

config.xml:

<?xml version="1.0"?>
<config>
    <modules>
        <WACI_CustomerExt>
            <version>0.1.0</version>
        </WACI_CustomerExt>
    </modules>
    <global>
        <models>
            <WACI_CustomerExt>
                <class>WACI_CustomerExt_Model</class>
            </WACI_CustomerExt>
        </models>
        <template>
            <email>
                <!-- regisration success -->
                <notify_new_customer module="WACI_CustomerExt">
                    <label>Admin notification on registration success</label>
                    <file>notify_new_customer.html</file>
                    <type>html</type>
                </notify_new_customer>
            </email>
        </template>
    </global>
    <frontend>
        <events>
            <!-- regisration success -->
            <customer_register_success>
                <observers>
                    <WACI_CustomerExt>
                        <type>model</type>
                        <class>waci_customerext/observer</class>
                        <method>customer_register_success</method>
                    </WACI_CustomerExt>
                </observers>
            </customer_register_success>
        </events>
    </frontend>
</config>

名前空間/モジュール/グループ/Observer.php

<?php 

require_once('../../../../../Mage.php');

class WACI_CustomerExt_Model_Observer 
{

    public function __construct()
    {

    }

    public function customer_register_success( Varien_Event_Observer $observer )
    {

        $emailTemplate  = Mage::getModel('core/email_template')
            ->loadDefault('notify_new_customer');
        $emailTemplate
            ->setSenderName(Mage::getStoreConfig('trans_email/ident_support/name'))
            ->setSenderEmail(Mage::getStoreConfig('trans_email/ident_support/email'))
            ->setTemplateSubject('New customer registered');
        $result = $emailTemplate->send(Mage::getStoreConfig('trans_email/ident_general/email'),(Mage::getStoreConfig('trans_email/ident_general/name'), $observer->getCustomer()->getData());

    }

}

local/en_us/template/notify_new_customer.html

New customer registration:<br />
Name: {{var name}}<br />
Email: {{var email}}<br />
... you win a pickle.

疑わしいと思われる 2 つの点: 設定でオブザーバーが正しく設定されているとは思えません。app/mage.php を含める必要があると思います (ただし、この例ではこれを行っていません)。

ログ自体にエラーが記録されていないため、イベントが登録されていないか、適切に処理されていないと想定しています。

いずれにせよ、典型的な Magento 形式では、これに対する私の試みはうまくいきません。

アドバイスをいただければ幸いです;D

乾杯

4

1 に答える 1

1

ロギングは間違いなくインクルードエラーを生成しました

Failed opening 'Mage/Waci/Customerext/Model/Observer.php'

明らかに、私のクラス参照には正しいケースが必要でした。

<events>
            <!-- regisration success -->
            <customer_register_success>
                <observers>
                    <WACI_CustomerExt>
                        <type>model</type>
                        <class>WACI_CustomerExt/Observer</class>
                        <method>customer_register_success</method>
                    </WACI_CustomerExt>
                </observers>
            </customer_register_success>
        </events>

また、ここでsend()呼び出しでわずかな構文エラーが発生しました:/email'),(Mage::getSt

とにかく、いつものように、設定は私の問題でした。

于 2012-09-18T22:59:19.380 に答える