CakePHP inline CSS plugin

3.0.0 2016-11-30 13:09 UTC

This package is auto-updated.

Last update: 2021-10-07 09:07:59 UTC


License Build Status

This plugin provides a CakePHP helper that uses CssToInlineStyles to convert HTML style blocks to inline CSS on a View template. Its intended use is with generating email templates where many email clients often require styles applied directly to the elements.


  • CakePHP 3.x


This plugin should be installed using Composer:-

composer require drmonkeyninja/cakephp-inline-css:3.0.*

Then add the following line to your bootstrap.php to load the plugin.



To use this plugin you want to load the InlineCss helper to use with your email's HTML template:-

$email = new Email();
$email->template('welcome', 'fancy')

When rendering your email template the plugin will then convert any CSS defined in an inline <style> block in your template to inline CSS. So, if your email view template looks like this:-

<style type="text/css">
	.link {color: red;}
<p><a href="http://andy-carter.com" class="link">Link</a></p>

It will be rendered as:-

<p><a href="http://andy-carter.com" class="link" style="color: red;">Link</a></p>

This makes generating HTML emails a lot simpler as you can write your CSS in a more DRY approach.

I recommend you look consider deferring the sending of emails using something like the excellent Queue plugin to improve your app's response time for users when using this plugin.