[英]yii2: how to render a view in mail
我可以使用 swiftmailer 擴展發送郵件。 我還可以包含@app/mail 文件夾中的視圖文件。
現在我想知道如何為我的模型視圖包含數據,例如說我有一個 Model City.php 和相關視圖作為 view.php 或 index.php(grid-view) 如何包含在視圖中呈現的數據。郵件正文中 index.php 中的 php(單條記錄)或表數據。
簡而言之,我想將 yii2 中呈現的默認數據包含在郵件正文中的視圖或索引中。
嗨,我見過這樣的例子 - Yii::$app->mailer->compose('viewName', ['variable' => $variable])
另一個例子 - Yii::$app->mailer->compose('contact/html', ['contactForm' => $form])
我試過這樣沒有多大成功:
Yii::$app->mailer->compose('medicine-request-entry/html',['medicine_request_entry'=>$form])
但我收到錯誤未定義的變量形式。 medicie_request_entry
是視圖文件夾中的文件夾。(不在@app/views 中)
但無法得到它。 假設我在 /mail/ 子文件夾中的視圖名稱是 report.php,我的視圖子文件夾 /city/ 中有一個文件夾,在 city 文件夾中有 view.php 和 index.php 如何在示例中的參數中指定它代碼。
任何建議將不勝感激。
謝謝。
好的,我找到了解決方案,並為遇到同樣困難的任何人提供了答案
我修改了控制器中的代碼,例如:
Yii::$app->mailer->compose('@app/views/medicine-request-entry/view',['model'=>$model])
但我仍然沒有明白,如何使用@app/mail
給出的布局或將郵件作為 html 發送。
謝謝。
\Yii::$app->mailer->htmlLayout = "@app/mail/layouts/html";
$message = Yii::$app->mailer->compose('@app/mail/welcome');
var_dump($message);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.