首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Laravel默认电子邮件中自定义变量?

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

Stack Overflow用户
提问于 2018-12-14 06:34:06
回答 1查看 2.4K关注 0票数 5

我跟随this answer在我的应用程序中发布了默认的电子邮件模板:

代码语言:javascript
复制
php artisan vendor:publish --tag=laravel-notifications
php artisan vendor:publish --tag=laravel-mail

这很有效,但显然有一些配置选项,例如:

代码语言:javascript
复制
{{-- 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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-14 06:51:55

您发布的模板是notification mails的默认模板。当创建这样的通知时,例如:

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

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

return (new MailMessage)->markdown('mail.invoice.paid');

MailMessage类扩展了SimpleMessage类。SimpleMessage类有greeting()salutation()方法,您可以使用它们来设置问候语或问候语。

例如:

代码语言:javascript
复制
/**
 * 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');
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53771024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档