symfony2 - twig - how to render a twig template from inside a twig template symfony2 - twig - how to render a twig template from inside a twig template symfony symfony

symfony2 - twig - how to render a twig template from inside a twig template


Here are a few different ways:

{{ render(app.request.baseUrl ~ '/helper/test', {"hostid2": hostid } ) }}

or

{% include 'MyCoreBundle:Helper:test.html.twig' with {"hostid2": hostid } only %}

or

{% render controller("MyCoreBundle:Helper:test", {'hostid2': hostid}) %}


Symfony 2.1:

{% render 'YourBundle:YourController:yourAction' with {'var': value} %}

Symfony 2.6+:

{{ render(controller('YourBundle:YourController:yourAction', {'var': value})) }}

And, of course, read the documentation.


I think some parts are depricated here.To make the include work in latest Symfony 3.1.10, I solved it like this:

{% extends 'base.html.twig' %}{% block body %}    {{ include('AppBundle:Default:inner_content.html.twig') }}{% endblock %}

Note: include() with parentheses.Then all the variables are included from the parent template. If you like to restrict some variables in the child template, you use with ... only (look over)