没有为[mail] Laravel 5.4定义提示路径

时间:2017-02-17 04:18:20

标签: php laravel email laravel-5.4

嗨,大家好我试图在视图上显示我的降价电子邮件,但我的邮件视图有问题,它显示为

ErrorException in FileViewFinder.php line 112:
No hint path defined for [mail]. (View: /opt/lampp/htdocs/ppsb_new/core/resources/views/emails/tagihan.blade.php)

和我的降价邮件视图

@component('mail::message')
# TAGIHAN PEMBAYARAN

Berikut tagihan anda untuk pembayaran


@component('mail::button', ['url' => ''])
wut ?
@endcomponent

Gunakan kode tagihan tersebut untuk membayar tagihan.

Thanks,<br>
{{ config('app.name') }}
@endcomponent

并且我的观点中的供应商也有他们的组件,请帮助我。

7 个答案:

答案 0 :(得分:76)

您需要在mailable的markdown()方法中调用build()方法,而不是view()方法。请参阅以下示例:

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->markdown('view-to-mail');
}

答案 1 :(得分:1)

如果您发现了laravel邮件未查看的问题。在尝试接受的答案并且它不起作用后,请检查yourtemplate.blade.php markdown文件并确保在没有开放@endcomponent的情况下没有关闭@component

答案 2 :(得分:0)

如果您的电子邮件视图位于...视图/邮件中,则可以这样指定:

app('view')->addNamespace('mail', resource_path('views') . '/mail');

答案 3 :(得分:0)

尝试使用自定义电子邮件视图模板,如下所示:

You received a message from : {{ $name }}

<p>
Name: {{ $name }}
</p>

<p>
Email: {{ $email }}
</p>

<p>
Message: {{ $user_message }}
</p>

答案 4 :(得分:0)

我遇到了同样的问题,然后使用了这种语法并发挥了作用


@component('mail.html.message')
# Introduction

The body of your message.

@component('mail.html.button', ['url' => config('app.url')])
Button Text
@endcomponent

Thanks,<br>
{{ config('app.name') }}

@endcomponent

我的文件夹结构 views/mail/html 用于降价消息。

和我的App\Mail\NewEmail.php

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class NewEmail extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->markdown('mail.new-message'); // -> pointing to views/mail/new-message.blade.php containing above message
    }
}

答案 5 :(得分:0)

如果你想在php刀片文件中使用markdown,那么通过markdown()调用view 或者,如果您想通过 view() 调用刀片文件,请从刀片文件中删除 Markdown 语法并使用平面 html。

答案 6 :(得分:-3)

我使用含咖啡因/模块的laravel5.2。

如果你和我相似,你可以运行:

php artisan module:list
+------+-------+-------+-------------------------------------+----------+
| #    | Name  | Slug  | Description                         | Status   |
+------+-------+-------+-------------------------------------+----------+
| 9001 | Frame | Frame | this is a basic frame for both web. | Disabled |
| 9001 | Index | Index | this is web default index           | Enabled  |
| 9001 | Admin | Admin | This is admin of meixin project     | Enabled  |
+------+-------+-------+-------------------------------------+----------+

好的,你可以看到禁用选项。

php artisan module:enable Frame

模块已启用。

这就是全部,希望这会有所帮助。