2009-05-28 67 views
1

我正在嘗試使用郵件模板發送郵件。爲此,我想將.tpl加載到變量中。我不知道是否可以在控制器中設置視圖的值,然後將此視圖加載到變量中,而不是加載HTML文件並替換佔位符。這樣我就可以在加載視圖之前使用包含HTML郵件的變量來填充控制器中設置的信息。將視圖文件加載到Zend Framework中的變量中

任何替代方法也是受歡迎的,我的意思是,如果已經有方法以更標準化的方式進行郵件模板化。

回答

8

一個好主意Erik,我做了很多次。

Zend_View實際上只是一個模板系統,可以用來生成任何東西,不僅僅是HTML。

示例代碼 - 創建視圖,分配一些數據,渲染視圖併發送郵件!

$view = $this->getHelper('ViewRenderer')->view; 

$view->email = $data['email'];  
$view->password = $data['password']; 

$text = $view->render('mail/new-user.php'); 
$mail = new Zend_Mail(); 

$mail->addTo($data['email'], $data['forename'] . ' ' . $data['lastname']); 
$mail->setSubject('Account Details'); 
$mail->setBodyText($text, 'utf-8'); 

$mail->send(); 

在第一行我檢索ViewRenderer的視圖,所以我有權訪問正常的腳本路徑。你可以創建一個新的Zend_View對象,但是你需要手動添加視圖腳本的路徑。

在我的示例中,會生成基於文本的內容,但您可以生成所有相同的HTML。

相關問題