【发布时间】:2017-07-21 07:51:52
【问题描述】:
我想在我的控制器中使用刀片指令,在这种情况下,我创建了一个自定义电子邮件模板,其中从数据库中检索电子邮件消息和一个我可以编写自己的标签 [app_name], [button url=my url]Text[/button], etc 的电子邮件消息。
当我写 [app_name] 时,它将是“站点名称”,当我写 [button url=my url]Text[/button] 时,它将调用 @component('mail::button', ['url'=>'my url'])Text@endcomponent。
那么,我可以在控制器中使用 laravel Blade 吗?
【问题讨论】:
-
你不能(至少不能直截了当)也不应该,控制器不应该对表示元素负责。只需根据您的需要创建一个视图并将参数从控制器传递到视图。您可以通过
$view= view(myview)->with(..)进行查看,然后使用它来做任何您需要的事情(例如$view->render()以获得编译的标记)。 -
但是,您有其他解决方案吗?本质上,我想发送一封带有 Laravel 默认按钮组件的电子邮件。
-
我不明白这个问题。 laravel 中默认的电子邮件系统允许您使用刀片模板作为内容发送电子邮件。
Email::send("view.name", [ viewdata ], function ($mail) { /* do more things to the mail object */ });
标签: php laravel-5 laravel-blade