找不到新组件

时间:2019-09-02 10:23:05

标签: laravel email components

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

2 个答案:

答案 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。