주문 완료시 이메일을 보낼 이벤트 관찰자를 만들었습니다. category1에서 제품을 주문한 경우 email_address1로 전자 메일을 보내고 cateogory2에서 제품을 주문한 경우 email_address2로 전자 메일을 보냅니다. 그러므로 저는 이것을위한 관찰자 이벤트를 만들었습니다.magento sales_order_place_after 관찰자가 작동하지 않음
하지만 '주문하기'버튼을 클릭해도 아무런 변화가 없습니다. 문제가 무엇입니까? 마 젠토/응용 프로그램/등/모듈/Custom_Email.xml에서
: 마 젠토에
<?xml version="1.0"?>
<config>
<modules>
<Custom_Email>
<codePool>local</codePool>
<active>true</active>
</Custom_Email>
</modules>
</config>
/응용 프로그램/코드/지역/사용자 정의/이메일/등/config.xml에 :
<?xml version="1.0"?>
<config>
<global>
<models>
<customemail>
<class>Custom_Email_Model</class>
</customemail>
</models>
<events>
<sales_order_place_after>
<observers>
<custom_email_order_observer>
<type>singleton</type>
<class>customemail/order_observer</class>
<method>sendOrder</method>
</custom_email_order_observer>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
마 젠토/응용 프로그램/코드/지역/사용자 정의/이메일/모델/주문/Observer.php :
<?php
class Custom_Email_Model_Order_Observer
{
public function __contruct()
{
}
/**
* Exports new orders to an xml file
* @param Varien_Event_Observer $observer
* @return Feed_Sales_Model_Order_Observer
*/
public function sendOrder($observer){
$order = $observer->getEvent()->getOrder();
$cat_id = Mage::getModel('catalog/layer')->getCurrentCategory()->getId();
echo $cat_id;
//Implement logic here
...
$emailTemplate = Mage::getModel('core/email_template')
->loadDefault('rehab');
$emailTemplateVariables = array();
$emailTemplateVariables['order'] = $order;
$emailTemplate->setSenderName('Your shops name');
$emailTemplate->setSenderEmail('[email protected]');
$emailTemplate->setTemplateSubject('Subject');
$emailTemplate->send('[email protected]','Name', $emailTemplateVariables);
echo 'email sent';
}
}
?>
그래서 어떤 사람은 문제가 어디에 알아?
관찰자를 확인 했습니까? (예를 들어 로그를 넣으십시오). 기록에 뭐라도있어? – OSdave
@sidrasultana : "아무 일도 일어나지 않는"것을보다 정확하게 정의하십시오. –
@OSdave : 내 관찰자가 어떻게 확인됩니까? – Ahmad