Laravel 邮件消息组件前缀

Laravel Mail Message Components Prefix

我正在尝试为 laravel 自定义我的电子邮件模板。所以我发布了通知和邮件供应商。

resources/views/vendor/notifications/email.blade.php 文件中,框架调用这样的组件

@component('mail::button')

mail:: 前缀代表什么?

我尝试在 resources/views/vendor/mail/mycomponent.blade.php 下编写自己的组件定位器。所以我也把它叫做默认组件。

@component('mail::mycomponent')

它不起作用。这里的错误:

View [mycomponent] not found. (View: /resources/views/vendor/notifications/email.blade.php)

所以我的问题是前缀mail::指向哪里?我可以将它用于我自己的组件吗?

当你做 php artisan vendor:publish --tag=laravel-mail 时,larvel 在 resources/views/vendor/mail 中创建了 2 个目录,分别称为 htmlmarkdown.

您需要将您的组件放在那里,以确保它可以在电子邮件模板中访问。

如果你想创建一个组件,你需要创建2个文件: resources/views/vendor/mail/html/mycomponent.blade.phpresources/views/vendor/mail/markdown/mycomponent.blade.php

Markdown 将具有数据和插槽,而 html 将具有实际的 html 结构来呈现。

mail:: 前缀是 Laravel 查找邮件组件的方式,它不像我们在 blade layouts.default 等中那样真正的文件夹路径

有关详细信息,请参阅 documentation