2011-11-25 49 views

回答

1

我建議你自己寫觀察者訂購。

sales_order_place_after 

事件最適合您的目的。

如果買方可以添加到購物車項目只從1 cateogry。

您的模塊應該:通過觀察

  1. 獲取訂單。
  2. 獲取訂單的第一個項目,並得到它的
  3. 選擇電子郵件分類基於類

發送電子郵件

public function sendOrder(){ 
    $order = $observer->getEvent()->getOrder(); 
      ... 
      //Implement logic here 
      ... 

    $emailTemplate = Mage::getModel('core/email_template') 
        ->loadDefault('your_template');        
    $emailTemplateVariables = array(); 
    $emailTemplateVariables['order'] = $order;  
    $emailTemplate->setSenderName('Your shops name'); 
    $emailTemplate->setSenderEmail('[email protected]'); 
    $emailTemplate->setTemplateSubject(Subject'); 
    $emailTemplate->send('[email protected]','Name', $emailTemplateVariables);   
} 

更新1

首先,我堅持認爲,你看我在評論區提供的鏈接。

然後: 要創建模塊:

  1. 創建應用程序的/ etc /模塊/ Company_Module.xml文件。隨着內容類同這一個:

    真正 當地 奧尼爾這Magento的講,在應用程序/代碼/本地/公司/模塊有一些有趣的手錶。

  2. 創建正確的文件夾和文件結構。 對於你模塊,我認爲這將是不夠的:

    Company 
    -Module 
    --etc 
    ---config.xml 
    --Model 
    ---Observer.php 
    --Helper 
    ---Data.php 
    
  3. Magento的應該知道你的模塊的一切。此外,你應該爲事件定義觀察者。 重要提示:我們將抓到Magento的活動。不是我們的。

config.xml文件:

<?xml version="1.0"?> 
    <config> 
     <modules> 
      <Company_Module> 
       <version>0.1.0</version> 
      </Company_Module> 
     </modules> 
     <global> 
      <models> 
       <company_module> 
        <class>Company_Module_Model</class> 
       </company_module> 
      </models> 
      <helpers> 
       <cmod> 
        <class>Company_Module_Helper</class> 
       </cmod> 
      </helpers> 
      <events> 
       <sales_order_place_after> 
        <observers> 
         <sales_order_place_after_observer> 
          <class>company_module/observer</class> 
          <method>handleOrder</method> 
         </sales_order_place_after_observer> 
        </observers> 
       </sales_order_place_after> 
      </events> 
     </global> 
    </config> 

Data.php - 它是空的,但它應該是。

class Company_Module_Helper_Data extends Mage_Core_Helper_Abstract{ 

    } 

Observer.php

class Company_Module_Model_Observer{ 
      public function handleOrder($observer){ 
        $order = $observer->getEvent()->getOrder(); 
          ... 
          //Implement logic here 
          ... 

        $emailTemplate = Mage::getModel('core/email_template') 
          ->loadDefault('your_template');        
        $emailTemplateVariables = array(); 
        $emailTemplateVariables['order'] = $order;   
        $emailTemplate->setSenderName('Your shops name'); 
        $emailTemplate->setSenderEmail('[email protected]'); 
        $emailTemplate->setTemplateSubject(Subject'); 
        $emailTemplate->send('[email protected]','Name', $emailTemplateVariables); 
      } 
    } 
+0

我應該在哪裏寫代碼?手段在哪個文件?我是新的magento。請解釋你的答案。 – Ahmad

+0

如果你是magento的新手,比事情稍微複雜一些。結帳此鏈接http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method –

+0

我認爲默認情況下,magento發送電子郵件到訂單完成管理員。那麼該文件在哪裏?將電子郵件邏輯寫入該文件能否解決我的問題?因爲這對我來說很簡單?任何想法PLZ? – Ahmad

相關問題