сырье или побег на веточку - PullRequest
8 голосов
/ 09 марта 2012

Я хотел бы экранировать файл, в который я включаю

следующий код не будет содержать теги html в файле "_custom_plugin_script.html.twig" Есть ли другой способ?

<code><pre>
    {% autoescape true %}
        {% include "_custom_plugin_script.html.twig" | raw %}
    {% endautoescape %}

Через пару дней я нашел обходной путь, но не нашел ответа. Так что первый raw не сбежит, поэтому я должен использовать escape. Однако raw и escape не будут работать в {%%}, но в {{}}.

Итак, вот обходной путь

Содержание Акции

$customPluginScript = $app['twig']->render('_custom_plugin_script.html.twig', array(
    'data' => $data,
));


return $app['twig']->render('confirm.html.twig', array(
    'data' => $data,
    'customPluginScript' => $customPluginScript
));

И часть подтверждения .html.twig

<code><script>
// don't escape content of customPluginScript
  {{ customPluginScript | raw }}
</script>


<!-- escape content of customPluginScript -->
<pre>
  {{ customPluginScript }}

Ответы [ 2 ]

16 голосов
/ 19 мая 2012
{% filter escape %}
    {% include '...' %}
{% endfilter %}

См. Документы для Подробнее .

2 голосов
/ 15 мая 2014

Поскольку это первый результат, который появляется при поиске в Google для twig include raw, стоит упомянуть, что веточка теперь поддерживает это со следующим синтаксисом

{{ source('AcmeSomeBundle:Default:_custom_plugin_script.html.twig') }}

Тем не менее, это не делает шаблон как упомянуто barius.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...