我正在尝试为laravel自定义我的电子邮件temapltes。因此,我发布了通知和邮件供应商。
在resources/views/vendor/notifications/email.blade.php
文件中,框架调用此类组件
@component('mail::button')
mail::
前缀代表什么?
我试图在resources/views/vendor/mail/mycomponent.blade.php
下编写自己的组件locatete。因此,我也将其称为默认组件。
@component('mail::mycomponent')
它不起作用。这里的错误:
View [mycomponent] not found. (View: /resources/views/vendor/notifications/email.blade.php)
所以我的问题是前缀mail::
指向哪里?我可以将其用于自己的组件吗?
答案 0 :(得分:1)
执行php artisan vendor:publish --tag=laravel-mail
时,larvel在resources/views/vendor/mail
内创建两个目录,分别为html
和markdown
。
您需要在其中放置组件,以确保可以在电子邮件模板中对其进行访问。
如果要创建组件,则需要创建2个文件:
resources/views/vendor/mail/html/mycomponent.blade.php
和resources/views/vendor/mail/markdown/mycomponent.blade.php
Markdown将具有数据和插槽,而html将具有要呈现的实际html结构。
mail::
前缀是Laravel查找邮件组件的方式,它实际上并不像layouts.default
等那样是刀片中的文件夹路径。
有关更多详细信息,请参见documentation。