wiredmedia / to-inline-style-email-bundle
tijsverkoyen 的 CssToInlineStyles 转换器的一个用于 Symfony2 的扩展包
Requires
- php: >=5.3.3
- tijsverkoyen/css-to-inline-styles: dev-master
Requires (Dev)
- symfony/framework-bundle: >=2.1,<2.4-dev
This package is not auto-updated.
Last update: 2024-09-28 12:21:00 UTC
README
ToInlineStyleEmailBundle 是一个 Symfony2 扩展包,用于使用 Tijs Verkoyen 开发的 CssToInlineStyles 转换器(有关存储库信息,请参阅 https://github.com/tijsverkoyen/CssToInlineStyles)
需求
ToInlineStyleEmailBundle 仅支持 PHP 5.3.3 及以上版本。
安装
请使用 Composer 在您的 Symfony2 应用中安装此扩展包。
请在您的 composer.json
中添加以下行
"require": {
"tijsverkoyen/css-to-inline-styles": "dev-master",
"robertotru/to-inline-style-email-bundle": "dev-master"
},
然后,在您的 AppKernel 中注册该扩展包,添加以下行
new RobertoTru\ToInlineStyleEmailBundle\RobertoTruToInlineStyleEmailBundle(),
文档和示例
该扩展包提供了一个名为 css_to_inline_email_converter 的服务。在控制器中使用它以获得 Tijs Verkoyen 开发的转换器的快捷方式。例如:
public function indexAction() { $converter = $this->get('css_to_inline_email_converter'); ... }
获取 HTML 和 CSS 作为字符串,并将这些必需值设置到转换器对象中,例如:
$converter = $this->get('css_to_inline_email_converter'); $html = ...; // get the HTML here $css = ....; // get the CSS here $converter->setHTML($html); $converter->setCSS($css);
从其文件夹中检索 HTML 和 CSS 文件的操作完全由您自己决定。例如,在您的控制器中检索 CSS 的内容:
file_get_contents($this->container->getParameter('kernel.root_dir'). '/../src/Acme/TestBundle/Resources/css/mystyle.css');
当然,假设 Symfony 用户会使用模板而不是静态 HTML 页面。因此,为了方便起见,该服务提供了一个可以渲染模板的功能。例如:
$converter->setHTMLByView('AcmeTestBundle:MyController:my_template.html.twig', array('param_1'=>$val_of_param_1, ..., 'param_n'=>$val_of_param_n)); }
必须使用前面的函数代替 setHTML()
函数。
有关该服务的使用方法的更多详细信息,请参阅文件中的文档。
贡献
ToInlineStyleEmailBundle 是一个开源项目。鼓励贡献。请随时为此扩展包做出贡献以改进它。
关于扩展包作者的介绍
ToInlineStyleEmailBundle 最初由 Roberto Trunfio 开发并维护(有关作者的更多信息,请参阅 www.trunfio.it)