用于渲染 HTML 格式电子邮件的 Emogrifier 插件

CakephpEmogrifierPlugin 是一个 CakePHP 2.0x 插件,它简化了在您的 HTML 输出中使用 Emogrify 的操作。

想知道 Emogrify 是什么吗?Emogrify 是 Pelago 提供的一个很棒的库,它处理了 HTML 格式电子邮件消息中的许多繁琐问题:-

此插件是 Emogrifier 的包装器,使其易于在 CakePHP 2.0x 中使用

步骤 1

在此处下载插件:-https://github.com/ndejong/CakephpEmogrifierPlugin

步骤 2

将 CakephpEmogrifierPlugin 复制或符号链接到您的插件路径中名为 Emogrifier 的路径,如下所示:-

app/Plugin/Emogrifier

请仔细注意插件路径名,名称为“Emogrifier”,而不是 EmogrifierPlugin 或 CakephpEmogrifierPlugin,它只是 Emogrifier。我之所以详细说明这一点,是因为这很容易出错,尤其是在您从 github 下载或从 tarball 解压缩时。

步骤 3

确保在您的 bootstrap.php 或 core.php 中加载插件,如下所示:-

CakePlugin::load('Emogrifier');

步骤 4

告诉您的控制器使用 Emogrifier 渲染您的视图,如下所示:-

$this->viewClass = 'Emogrifier.Emogrifier';

问答

问:Pelago 的 Emogrifier 类要求您传入 CSS,但此插件却没有,这是怎么回事?答:我们从 View->output 属性解析 HTML,查找来自链接和样式元素的 CSS,然后将它们全部拼接在一起 - 这使得使用它变得更加容易。

问:我在渲染到网页之前使用 Emogrifier,但没有看到任何区别 答:查看 HTML 源代码,您应该会注意到,您所有的 CSS 样式现在都是内联元素样式属性。

问:为什么这个插件没有测试?答:因为我实在想不通如何为插件视图的输出编写 PHPUnit 测试 - 如果你知道怎么做的话,请告诉我!