この例を機能させて、登録が成功したときに管理者に電子メールを送信しようとしています。「私は思う」私はそれを正しく設定しました...しかし、正確には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
乾杯