Twig: seleccionando ciertos bloques y renderizándolos

Estoy integrando el motor de plantillas de ramitas en una aplicación PHP. En particular, me gustaría usar el motor de ramitas para representar formularios.

Haciendo un vistazo a cómo Symfony2 usa una rama para representar widgets de formularios, tienen un enorme archivo de plantilla que contiene todos los widgets de esta manera:

(...)
{% block password_widget %}
{% spaceless %}
    {% set type = type|default('password') %}
    {{ block('field_widget') }}
{% endspaceless %}
{% endblock password_widget %}

{% block hidden_widget %}
    {% set type = type|default('hidden') %}
    {{ block('field_widget') }}
{% endblock hidden_widget %}

{% block email_widget %}
{% spaceless %}
    {% set type = type|default('email') %}
    {{ block('field_widget') }}
{% endspaceless %}
{% endblock email_widget %}

{% block test_widget %}
{% spaceless %}
   <div>
     {{test}}
   <div>
{% endspaceless %}
{% endblock test_widget %}

(...)

La pregunta que tengo es cómo puedo "tomar" bloques de esta plantilla y renderizarlos.

Hasta ahora, puedo cargar la plantilla y llamar a get blocks para obtener todos los bloques:

twig = new \Twig_Environment($loader, array('cache' => 'cache'));
$template = $twig->loadTemplate('view\form_div_layout.html.twig');
//var_dump($template->getBlocks()); //try getting all blocks
$template->displayBlock('test_widget', array('test' => 'test'));
echo $template->render();

Desafortunadamente, en este caso no puedo representar solo el bloque 'test_widget'. ¿Qué debo hacer para recuperar el bloque 'test_widget' de la plantilla y luego insertarlo en una plantilla diferente para representar el formulario completo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta