Laravel 5.8中的电子邮件自定义组件存在问题
我已经创建了一个新文件:/resources/vendor/mail/html/training.blade.php
在我的视图文件(文件夹:/ resources / views / emails / training /)中,我有:
@component('mail::training')
代替 :
@component('mail::message')
但是我有这个错误: 查看未找到[培训] ...
注意:如果我编辑的文件是:/resources/views/emails/header.blade.php 我在电子邮件中看到了修改。
我很想念如何创建一个新组件?
谢谢。
编辑:
我找到了解决方案。您需要在每个目录中复制文件: / vendor / mail / html和/ vendor / mail / text
答案 0 :(得分:0)
每个供应商组件都在该程序包的serviceProvider中注册。如果要制作自己的刀片组件,请遵循文档。
https://laravel.com/docs/5.8/blade#components-and-slots
组件和插槽为部分和布局提供类似的好处;但是,有些人可能会发现组件和插槽的心理模型更容易理解。首先,假设我们要在整个应用程序中重用一个可重用的“警报”组件:
<!-- /resources/views/alert.blade.php -->
<div class="alert alert-danger">
{{ $slot }}
</div>
{{$ slot}}变量将包含我们希望注入到组件中的内容。现在,要构建此组件,我们可以使用@component Blade指令:
@component('alert')
<strong>Whoops!</strong> Something went wrong!
@endcomponent
答案 1 :(得分:0)
如果您将组件放在“views”文件夹中并删除 this.search.trim().length>0
中的前缀“mail::”,它应该可以成功运行。
要使 Laravel 从“views/vendor/mail/html”读取视图,您只需将此行 @component('mail::training')
添加到 config 文件夹中的 view.php。