Php 如何自定义Laravel默认电子邮件中的变量?

Php 如何自定义Laravel默认电子邮件中的变量?,php,laravel,laravel-5,laravel-blade,laravel-mail,Php,Laravel,Laravel 5,Laravel Blade,Laravel Mail,我遵循以下步骤在我的应用程序中发布默认电子邮件模板: php artisan vendor:publish --tag=laravel-notifications php artisan vendor:publish --tag=laravel-mail 这非常有效,但显然存在一些配置选项,例如: {{-- Greeting --}} @if (! empty($greeting)) # {{ $greeting }} @else @if ($level === 'error') # @lan

我遵循以下步骤在我的应用程序中发布默认电子邮件模板:

php artisan vendor:publish --tag=laravel-notifications
php artisan vendor:publish --tag=laravel-mail
这非常有效,但显然存在一些配置选项,例如:

{{-- Greeting --}}
@if (! empty($greeting))
# {{ $greeting }}
@else
@if ($level === 'error')
# @lang('Whoops!')
@else
# @lang('Hello!')
@endif
@endif

{{-- Salutation --}}
@if (! empty($salutation))
{{ $salutation }}
@else
@lang('Regards'),<br>{{ config('app.name') }}
@endif
{{--问候--}
@如果(!空($greeting))
#{{$greeting}
@否则
@如果($level=='error')
#@lang(‘哎呀!’
@否则
#@lang(“你好!”)
@恩迪夫
@恩迪夫
{{--称呼--}}
@如果(!空($称呼))
{{$SALLATION}
@否则
@lang('问候'),
{{config('app.name')} @恩迪夫

现在,我的电子邮件正在从else部分发送“Hello!”和“问候”,但显然有一种方法可以使用变量为电子邮件模板设置这些默认值。发送电子邮件时如何设置
$greeting
$saltation
变量

您发布的模板是的默认模板。 创建此类通知时,例如:

php artisan make:notification InvoicePaid--markdown=mail.invoice.paid

app/Notifications/InvoicePaid.php
中创建了一个新的InvoicePaid类。 此类包含具有以下内容的
toMail()
方法:

return(newmailmessage)->markdown('mail.invoice.payed')

MailMessage
类扩展了
SimpleMessage
类。
SimpleMessage
类具有方法
greeting()
saltation()
,可用于设置问候语或问候语

例如:

/**
 * Get the mail representation of the notification.
 *
 * @param  mixed  $notifiable
 * @return \Illuminate\Notifications\Messages\MailMessage
 */
public function toMail($notifiable)
{
    return (new MailMessage)
           ->greeting("Your custom greeting")
           ->salutation("Your salutation goes here")
           ->markdown('mail.invoice.paid');
}

好的,非常有帮助!我希望覆盖
sendmailverificationnotification
模板。所以我猜我应该在app/User.php中覆盖该方法,并使用该标记创建一个新的邮件。我可能会从
illumb\Auth\Notifications\VerifyEmail
中复制一些功能。是的,只需在您的用户模型中覆盖
sendmailverificationnotification
方法,您就可以了。我正在试图找到
@lang('haelds')
的定义存储在哪里。它目前未在我的代码库中公开。如果有人可以在这里添加这些信息作为评论或补充答案,这可能会有所帮助。我通过谷歌搜索
@lang(“问候”)
找到了这个问题,并用双引号括起来。我想在链接定义旁边添加类似于
@lang('Team')
的内容。但值得注意的是,
resources/lang
是一个文件夹位置,用户可以在那里添加任何自定义内容。我只是还没有学到足够的知识来说明如何做到这一点。