Переменные, не замененные в шаблоне Twig

У меня есть этот PHP-код (просто используя Twig + SwiftMailer ):

# Load Twig and swiftmailer require_once('lib/SwiftMailer/swift_required.php'); require_once('lib/Twig/Autoloader.php'); Twig_Autoloader::register(); $loader = new Twig_Loader_Filesystem('views'); $twig = new Twig_Environment($loader, array( 'cache' => 'cache', )); $mailer = Swift_Mailer::newInstance(Swift_MailTransport::newInstance()); # Render twig template to a string $template = $twig->loadTemplate('email.twig'); $body = $template->renderBlock('body', array('name' => $_POST["name"], 'letter' => $_POST["letter"])); $message = Swift_Message::newInstance() ->setFrom("info@mydomain.com") ->setSubject("Hi, ".$_POST["name"]." blahblahblah") ->setBody($body, 'text/html') ->setTo($_POST["email"]); # Send email, using PHP mail function $retval = $mailer->send($message); 

О моем шаблоне email.twig:

  • Он содержит {{name}} и {{letter}}
  • Он содержится между {% block body%} … {% endblock%}
  • Он имеет узел <style> , с несколькими стилями CSS.

ОБНОВЛЕНО: ссылка на шаблон здесь

Письмо отправляется правильно, но с двумя проблемами :

  • Вторая переменная, буква , не заменяется. Он пуст, даже когда $ _POST ['letter'] не пуст
  • Не все стили CSS правильно применяются. Думаю, я не могу использовать все свойства CSS в письме. Я прав?

Любые подсказки?

У меня была аналогичная проблема и найти решение: это было связано с некоторыми непечатаемыми символами в шаблоне. Не уверен, что для вас это одно и то же, но, может быть, вам стоит просто переписать часть {{letter}}. (Моя французская клавиатура вставляет невидимый символ с комбинацией пространства Alt-Gr +).

Объектная переменная не отображается в шаблоне ветви