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
是一个文件夹位置,用户可以在那里添加任何自定义内容。我只是还没有学到足够的知识来说明如何做到这一点。