drmonkeyninja / cakephp-inline-css
CakePHP 内联CSS插件
3.0.0
2016-11-30 13:09 UTC
Requires
- cakephp/cakephp: ~3.0
- tijsverkoyen/css-to-inline-styles: ^1.5
This package is auto-updated.
Last update: 2024-09-07 15:12:51 UTC
README
此插件提供了一个 CakePHP 辅助工具,使用 CssToInlineStyles 将视图模板中的 HTML 样式块转换为内联 CSS。它的预期用途是与生成电子邮件模板一起使用,因为许多电子邮件客户端通常要求直接应用于元素的样式。
要求
- CakePHP 3.x
安装
应使用 Composer 安装此插件:
composer require drmonkeyninja/cakephp-inline-css:3.0.*
然后,将以下行添加到您的 bootstrap.php 中以加载插件。
Plugin::load('InlineCss');
用法
要使用此插件,您需要加载 InlineCss
辅助工具,并在您的电子邮件 HTML 模板中使用它:
$email = new Email(); $email->template('welcome', 'fancy') ->emailFormat('html') ->helpers(['InlineCss.InlineCss']) ->to('bob@example.com') ->from('app@domain.com') ->send();
当渲染您的电子邮件模板时,插件将然后将模板中定义的任何内联 <style>
块的 CSS 转换为内联 CSS。因此,如果您的电子邮件视图模板如下所示:
<style type="text/css"> .link {color: red;} </style> <p><a href="http://andy-carter.com" class="link">Link</a></p>
它将被渲染为:
<p><a href="http://andy-carter.com" class="link" style="color: red;">Link</a></p>
这使得生成 HTML 电子邮件变得更容易,因为您可以在更 DRY 的方法中编写您的 CSS。
我建议您考虑使用像出色的 Queue 插件 这样的东西来延迟发送电子邮件,以提高使用此插件时用户的应用响应时间。