2012-01-06 53 views
1

這可能是任何人可能都在尋找的功能。每次添加新評論時,我都會向我商店的聯繫人電子郵件地址發送電子郵件通知。添加新評論時發送電子郵件通知 - Magento

我打算通過製作一個自定義模塊,在發佈新評論後立即通知店主(在其聯繫電子郵件地址)。

現在我所堅持的一些事情是,這是否需要在cron作業上運行,或者是否能夠在發佈新評論後自行運行。

此外,檢查新評論和發送電子郵件警報的條件究竟是什麼。這只是我頭頂的事情,但如果任何人對如何做到這一點有了更好的概述,歡迎大家不要放棄他們的建議。

在此先感謝

+0

查找觀察者或覆蓋通用的magento類。 – 2012-01-06 14:50:59

回答

5

迪克洛朗建議你可以使用一個觀察者通過電子郵件時產品的意見置於通知您。 看看是否有審查後保存我檢查的事件:

app/code/core/Mage/Review/etc/config.xml

而且已經有一個人在使用此事件:

 <events> 
      <review_save_after> 
       <observers> 
        <rss> 
         <class>rss/observer</class> 
         <method>reviewSaveAfter</method> 
        </rss> 
       </observers> 
      </review_save_after> 
     </events> 

所以這是你正在尋找的事件爲:review_save_after

查看關於Customizing Magento using Event/Observer

這個Magento的維基鏈接,瞭解更多信息

如果您只希望在發佈評論時收到通知,則此功能正常。如果你想要更具體/有用的鏈接,你可能想要覆蓋Mage_Review中的Magento類(控制器或模型來存儲評論ID和東西在會話中。

如果你想包括一些關於張貼評論的細節,你可以從會議上得到它:

$session = Mage::getSingleton('core/session'); 
$data = $session->getFormData(true); 
+1

只是想澄清一下:有沒有這樣的觀察員審查,所以這是不正確的方式,至少對於這個請求 – WonderLand 2012-12-05 17:58:57

1

我從你的描述中可以理解什麼是「你想發送郵件確認,當一個新的評論張貼」

在每次審議會出現一個表格後與檢查數據 然後你可以保存數據庫中的審查數據和異步發送電子郵件通知 要發送電子郵件,您可以設置SMTP服務器連接(無論是在配置中還是通過代碼)併發送郵件。

這是你想要的嗎?

否則後詳細你需要什麼..

1

對於一個快速和非常髒的修復,您可以添加 mail(to,subject,message)線 應用程序/代碼/核心/法師/評論/控制器/ ProductController.php 後該行$session->addSuccess($this->__('Your review has been accepted for moderation.'));

+0

試試這個插件。 FmeAddons提供源代碼以及產品包。它發送電子郵件給客戶審查提醒和商店所有者以及新的審查發佈時。 http://www.fmeaddons.com/magento/reviews-ratings-booster.html – 2014-10-23 05:08:03

+0

'main()'做了什麼? – Dan 2014-11-20 11:41:04

+0

對不起,我應該是郵件。現在編輯。 – Mike 2014-11-26 15:42:37

-1

// after $ rating = $ this-> getRequest() - > getParam('ratings',array()); add

$ratingmsg=''; 
foreach($data as $key => $value){ 
      $ratingmsg.='<b>'.$key.':</b> '.$value.'<br/>'; 
      } 

// and after $ session-> addSuccess($ this - > __('Your review has been accepted for moderation。')); // add

$mail = Mage::getModel('core/email'); 
        $body='<b>Produit :</b> '.$product->getName().'<br/>'.$ratingmsg.'<br/><br/>Pour valider ce commantaire rendez vous dans <br/>catalogue > commentaires > commentaires en attente'; 
        $mail->setToName('name'); 
        $mail->setToEmail('[email protected]'); 
        $mail->setBody($body); 
        $mail->setSubject('Un nouveau commentaire sur XX'); 
        $mail->setFromEmail('[email protected]'); 
        $mail->setFromName("Name"); 
        $mail->setType('html');// YOu can use Html or text as Mail format 

        try { 
        $mail->send(); 
        //Mage::getSingleton('core/session')->addSuccess('Your request has been sent'); 
        } 
        catch (Exception $e) { 
         Mage::log($e->getMessage(), null, 'mail.log'); 
        } 
+2

對於你的例子中的每行代碼都做了什麼解釋,值得添加一個解釋,以便那些不知道代碼的人可以找出每個部分的作用 – Jonathan 2014-10-26 21:17:58