2016-07-15 60 views
0

我试图用Symfony 3制作一个漂亮的电子邮件模板,但是除了基本的HTML代码,比如一个应答器什么都没有工作。在Symfony 3的电子邮件模板中包含css

这里是我的父模板:

<!DOCTYPE HTML> 
<html> 
    <head> 
     <meta charset="utf-8"> 

     {% block stylesheets %} 
      {% stylesheets 
       'bundles/platform/bootstrap/css/bootstrap.min.css' 
       'bundles/platform/bootstrap/fonts/glyphicons-halflings-regular.eot' 
       'bundles/platform/bootstrap/fonts/glyphicons-halflings-regular.svg' 
       'bundles/platform/bootstrap/fonts/glyphicons-halflings-regular.ttf' 
       'bundles/platform/bootstrap/fonts/glyphicons-halflings-regular.woff' 
       'bundles/platform/bootstrap/fonts/glyphicons-halflings-regular.woff2' 
       filter='cssrewrite' %} 
       <link rel="stylesheet" href="{{ asset_url }}" /> 
      {% endstylesheets %} 
     {% endblock %} 
    </head> 
    <body> 

     <div id="content-block" class="row"> 
      {% block contentBlock %} 
      {% endblock %} 
     </div> 

     {% block javascripts %} 
      {% javascripts 
       '@PlatformBundle/Resources/public/bootstrap/js/bootstrap.min.js' 
       %} 
       <script src="{{ asset_url }}"></script> 
      {% endjavascripts %} 
     {% endblock %} 
    </body> 
</html> 

子模板:

{% extends "PlatformBundle:Emails:template_email.html.twig" %} 

{% block contentBlock %} 

    <div class="text-center"><h2>New asking</h2></div> 

    <div class="col-lg-8 col-md-8 col-sm-8 col-xs-8 col-lg-offset-2 col-md-offset-2 col-sm-offset-2 col-xs-offset-2 well"> 

     <p> ask from : {{authorEmail}} </p> 
     <p> Subject: {{subject}} </p> 
     <p> {{content}} </p> 

    </div> 
{% endblock %} 

最后的功能谁在我的控制器发送邮件:

$renderedTemplate = $this->container->get('templating') 
     ->render('PlatformBundle:Emails:contact_from_user.html.twig', array('subject' => $subject, 'authorEmail' => $authorEmail, 'content' => $content)); 

$message = \Swift_Message::newInstance() 
     ->setSubject($subject) 
     ->setFrom($platform->getEmail()) 
     ->setTo($toEmail) 
     ->setBody($renderedTemplate, 'text/html');  

所以,我的问题是:如何使我的模板使用附带的CSS,或者如果它是不可能的如何使一个美丽的电子邮件一样,对于为例:

enter image description here

编辑:

对于那些谁想要,这里是响应电子邮件模板大谁示好东西掌握度这样的: responsive-html-email-template

回答

2

与包括电子邮件css文件的问题是,大量的电子邮件阅读器(如Gmail为例)块他们。

最好的方法是为你的html模板的每个元素包含style =“”标签。

因为您正在使用树枝,您可以创建变量并在您的模板中使用它们以避免每次都编写CSS规则。

+0

噢好吧,我不知道。那么,它仍然可以使用引导? 你能举个例子说明你会如何使用树枝变量来主持吗? – LedZelkin

+0

如果您想与大部分电子邮件阅读器兼容,我认为这不是一个好主意。响应式电子邮件模板非常复杂。我使用html的表格标签来做到这一点,但需要很长时间才能获得完美的结果。您可以使用此链接https://www.campaignmonitor.com/css/了解每个电子邮件读者如何接受或不接受您的css规则。 – IMACODE

+0

非常感谢你,至少现在,我知道如何拿这个 – LedZelkin