簡體   English   中英

yii2:如何在郵件中呈現視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM