【问题标题】:Laravel Mail Message Components PrefixLaravel 邮件消息组件前缀
【发布时间】:2019-07-09 21:54:46
【问题描述】:

我正在尝试为 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 laravel laravel-blade laravel-mail


    【解决方案1】:

    当您执行php artisan vendor:publish --tag=laravel-mail 时,larvel 在resources/views/vendor/mail 内创建了两个目录,分别称为htmlmarkdown

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

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

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

    mail:: 前缀是 Laravel 查找邮件组件的方式,它不像我们在刀片中的文件夹路径 layouts.default 等。

    更多详情请见documentation

    【讨论】:

    • 我在两个地方都创建了一个新组件,但是当我发送电子邮件时,它仍然显示 Facade/Ignition/Exceptions/ViewException 并显示消息“未找到查看 [优惠券]
    猜你喜欢
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多