Есть ли инструмент или пакет в Symfony2, который позволяет мне создавать обычные шаблоны с файлами css, а затем на лету преобразовывать их во встроенные правила css, чтобы их можно было использовать в качестве тела электронного письма?
Динамически генерировать встроенные стили css для шаблонов электронной почты в Symfony2
Ответы (3)
Я знаю три инструмента, которые могут это сделать и которые вы можете использовать в Symfony:
- Premailer — это онлайн-инструмент, предоставляющий эту услугу. У него есть API и php-оболочка для этого API.
- CssToInlineClass — это класс php, который предлагает эту функциональность.
- Mailchimp предлагает функцию в своем API, которая предлагает эту функциональность.
Первые два не имеют прямой реализации в Symfony, хотя их будет легко использовать. Для mailchimp существует комплект mailchimp, который предлагает эту функциональность, хотя пакет не очень хорошо документирован.
Сегодня я обнаружил через другой вопрос, что существует такой пакет Symfony2, который соответствует вашим потребностям (я его не проверял).
Вы можете использовать ToInlineStyleEmailBundle, он включает в себя CSSToInline, которую Карлос Гранадос предложил в своем ответе.
С этим пакетом Symfony2 вы можете получить конвертер как услугу ($this->get('css_to_inline_email_converter')
), а затем использовать его для своих нужд. Он также поддерживает поколения шаблонов.
Я добился отличных результатов, интегрировав PHP-класс Emogrifier в CakePHP. Очень красиво встраивает все стили. Не уверен, что у него есть пакет Symfony, но интегрировать несложно.
https://github.com/jjriv/emogrifier