почему код twig {% set code = code(_self) %}
не работает в шаблоне xml.
<!-- src/Acme/DemoBundle/Resources/views/Demo/hello.xml.twig --> <hello> <name>{{ name }}</name> </hello> {% set code = code(_self) %}
как это работает в html-шаблоне.
{% extends "AcmeDemoBundle::layout.html.twig" %} {% block title "Hello " ~ name %} {% block content %} <h1>Hello {{ name }}!</h1> {% endblock %} {% set code = code(_self) %}
Ну, это не родное расширение Twig, это дополнительное расширение, предоставляемое DemoBundle
стандартной версии Symfony2 ( https://raw.github.com/symfony/symfony-standard/master/src/Acme/DemoBundle/Twig/Extension/DemoExtension .php ). Я только что протестировал и работает, но расширение этого code()
Twig предназначено только для использования в HTML-шаблоне, а не в XML. Если вы укажете источник XML-шаблона, вы увидите вывод своего контроллера, но он не будет отображаться по мере того, как сгенерированный XML станет недействительным. Если вы действительно хотите выход, вы можете использовать это:
<?xml version="1.0" encoding="UTF-8"?> <code>{{ code(_self) | escape }}</code>