Laravel 5.5 为 Mailables 类型新增 theme 属性
时间:2022-05-02
本文章向大家介绍Laravel 5.5 为 Mailables 类型新增 theme 属性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在 Laravel 5.4 中 引入了 Markdown 邮件,使得我们在邮件中享受 Blade 模板的组件和 Slots 的同时,可以用 Markdown 语法编写电子邮件。
Laravel 自带了一系列预定义的组件,比如 headers
, footers
, buttons
以及 tables
. 开发者可以很容易地在电子邮件模板中使用这些组件。
@component('mail::button', ['url' => $actionUrl, 'color' => $color])
{{ $actionText }}
@endcomponent
开箱即用的 Markdown 邮件使用默认主题发送,这意味着你可以不用做任何额外的设计工作就能发送漂亮的电子邮件,并且也不用担心所发出的电子邮件在所有的电子邮件客户端中的兼容性。
然而,万一你想自己设计电子邮件的样式,让它与你的品牌更加匹配呢?在 Laravel 5.4 中,你可以通过创建自己的主题来达到这一目的。
首先按照以下路径创建自己的样式文件:
// my-theme.css 是你自定义主题的样式文件名
resources/views/vendor/mail/html/themes/my-theme.css`
然后在 mail.php
这个配置文件中修改 markdown 相关的配置项:
'markdown' => [
'theme' => 'my-theme',
'paths' => [
resource_path('views/vendor/mail'),
],
],
配置完成以后,发出的所有 Markdown 邮件就会改用你的自定义主题。
到了 Laravel 5.5 中,同样做这件事情,就变得更加灵活方便了。你可以直接在一个 Mailable 的类中指定使用的主题。
首先还是和之前一样,创建一个自定义主题的样式文件,比如resources/views/vendor/mail/html/themes/my-theme.css
.
接下来,不必修改配置文件,只要在你的 Mailable 类代码里指定 $theme
属性:
class SendInvoice extends Mailable
{
protected $theme = 'my-theme';
...
}
- 最近的几个技术问题总结和答疑(九)(r10笔记第16天)
- AgileEAS.NET SOA中间件平台更新日志 2015-04-28
- 【Go 语言社区】Golang语言操作redis连接池的方法
- 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
- 关于Flashback的小测试(r10笔记第15天)
- 分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载
- 【Go 语言社区】Golang语言获取系统环境变量的方法
- Oracle中的PUBLIC(r10笔记第14天)
- Data Guard高级玩法:通过闪回恢复switchover主库 (r10笔记第13天)
- WinForm/MIS项目开发之中按钮级权限实践
- 恢复控制文件避免使用resetlogs选项 (r10笔记第12天)
- Go实现短url项目
- 【Go 语言社区】GO语言多核并行化的问题
- mysql执行计划看是否最优
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- CentOS7下安装文档协作工具Confluence7.2.1
- caret包进行机器学习
- 容器化Go应用--基础镜像的未知时区问题
- 写给自己的Object和Function的3个灵魂拷问
- 48. Vue路由-使用命名视图实现经典布局
- 47. Vue使用children属性实现路由嵌套
- RecyclerView的缓存机制和内存优化
- 使用Anchore Enine来完善DevSecOps工具链
- PyTorch版CenterNet训练自己的数据集
- SpringBoot2 整合FreeMarker模板,完成页面静态化处理
- PHP多文件上传格式化
- NDK开发案例 | C/C++调用java层代码
- 深入理解 SecurityConfigurer 【源码篇】
- Swift 属性
- Swift 类和结构体