Отправить письмо администратору об успешной регистрации в Magento

Я пытаюсь заставить этот пример отправлять электронное письмо администратору после успешной регистрации. 'Я думаю', что я настроил его правильно... но точно не происходит:

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.

Две вещи, которые кажутся подозрительными: я сомневаюсь, что мой наблюдатель правильно настроен в моей конфигурации. Я ожидаю, что мне нужно включить app/mage.php (но в примере этого не делается).

Я не получаю никаких ошибок как таковых в журналах, поэтому я предполагаю, что событие не регистрируется и не обрабатывается должным образом.

Как бы то ни было, в типичной форме Magento моя попытка не работает.

Буду признателен за совет ;D

Ваше здоровье


person Bosworth99    schedule 18.09.2012    source источник
comment
Вам не нужно включать app/mage.php, так как это уже сделано в файле /index.php. Я бы добавил вход в функцию customer_register_success, чтобы определить, работает она или нет... если нет, то вы неправильно ее настроили. Если это так, то происходит что-то еще   -  person CCBlackburn    schedule 19.09.2012
comment
О да. нет необходимости включать маг. Слишком много ajax в последнее время. - Я проверял журналы, но в какой-то момент вынул их. Добавлено обратно, и это определенно указывает на ошибку включения. Спасибо.   -  person Bosworth99    schedule 19.09.2012
comment
@CCBlackburn = хорошо, я получаю электронное письмо, но шаблон не читается и не обрабатывается. В любом случае тело письма пусто. Любая идея?   -  person Bosworth99    schedule 19.09.2012
comment
... имел файл шаблона в моей теме/вариации/локали, а не в приложении/локали... grr   -  person Bosworth99    schedule 19.09.2012


Ответы (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.

В любом случае, как обычно, моей проблемой была конфигурация.

person Bosworth99    schedule 18.09.2012