Laravel-如何从电子邮件模板中访问$notifiable
Laravel 5.5应用程序:我决定自定义我的邮件模板,因此运行以下artisan命令:Laravel-如何从电子邮件模板中访问$notifiable,laravel,email,laravel-5,Laravel,Email,Laravel 5,Laravel 5.5应用程序:我决定自定义我的邮件模板,因此运行以下artisan命令: artisan publish:vendor --tag=laravel-mail artisan publish:vendor --tag=laravel-notifications 然后我决定编辑resources/views/vendor/mail/html/message.blade.php底部的版权信息,以便在下面添加一些链接,但为了生成这些链接,我需要访问$notifiable实体。唯一的问
artisan publish:vendor --tag=laravel-mail
artisan publish:vendor --tag=laravel-notifications
然后我决定编辑resources/views/vendor/mail/html/message.blade.php底部的版权信息,以便在下面添加一些链接,但为了生成这些链接,我需要访问$notifiable实体。唯一的问题是,我找不到任何方法从模板中访问它。我不希望每次发送电子邮件时都将$notifiable传递给视图。但是,即使我从通知的toMail方法将$notifiable传递给视图,如下所示:
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Verify Email')
->markdown('mail.email-verification-email', [
'notifiable' => $notifiable
]);
}
我仍然无法从上面提到的文件中访问它。它会抛出一个错误,除非我检查变量是否已设置,而且从来没有设置过
我在这里偶然发现了堆栈溢出,但我不明白答案是如何解决这个问题的。我认为答案是解决了一个稍微不同的问题。试试这样的方法,它对我很有用
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Verify Email')
->view(
'mail.email-verification-email', ['notifiable' => $notifiable]
);
}
如果不想将其传递给视图,请使用helper,然后在视图中调用helper方法,对于未定义的问题,请在访问变量php artisan view:clear后尝试php artisan view:clear,php artisan view:clear不会更改任何内容。对于辅助对象,辅助对象不需要是某种全局对象吗?我不太确定该解决方案实际会是什么样子。您是否使用Queueable trait且队列工作程序正在运行?如果是,请重新启动它。我已经尝试重新启动队列工作程序了。我对blade的使用并不多,但我猜视图变量只能从电子邮件正文中访问,不能从页脚等处访问。