【问题标题】:How do you customize variables in Laravel default emails?你如何自定义 Laravel 默认邮件中的变量?
【发布时间】:2019-05-15 05:03:50
【问题描述】:

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

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$salutation 变量?

【问题讨论】:

  • 我正在尝试查找 @lang('Regards') 的定义的存储位置。它目前没有在我的代码库中公开。如果有人可以在此处将该信息添加为评论或附加答案,这可能会有所帮助。我通过谷歌搜索@lang('Regards') 发现了这个问题,并在其周围加上了双引号。我想在问候定义旁边添加类似 @lang('Team') 的内容。
  • 但值得注意的是resources/lang 是一个文件夹位置,人们可以在那里添加任何自定义项。我只是还没有学到足够的知识来说明如何做到这一点。

标签: php laravel laravel-5 laravel-blade laravel-mail


【解决方案1】:

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

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

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

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

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

例如:

/**
 * 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');
}

【讨论】:

  • 好的,非常有帮助!我正在寻找覆盖sendEmailVerificationNotification 模板。所以我猜我应该在 app/User.php 中覆盖该方法并使用该降价标志创建一个新的可邮寄。我可能会从Illuminate\Auth\Notifications\VerifyEmail复制一些功能
  • 是的,只需覆盖您的用户模型中的sendEmailVerificationNotification 方法就可以了。
猜你喜欢
  • 2021-06-12
  • 2015-02-04
  • 2015-11-07
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 2019-08-08
  • 1970-01-01
  • 2015-10-02
相关资源
最近更新 更多