wake-up-neo.com

symfony2 - twig - Rendert eine Zweigvorlage aus einer Zweigvorlage

Ich habe eine xxx.html.twig-Datei, die eine Seite anzeigt, aber wenn ich die Seite mit anderen Daten aktualisieren und sie einfach mit neuen Daten aktualisieren möchte, habe ich einen Auswahl- und einen Senden-Button dafür .. Die Sache ist Dass ich nicht weiß, wie ich eine Aktion im Controller aufrufe, an die ich Parameter von meinem Zweig übergebe und neue Daten abrufe, und dann wieder die gleiche Zweigvorlage mit neuen Parametern rendere.

Wie mache ich das?

17
Alon

Symfony 2.1:

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

Symfony 2.6+:

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

Und natürlich lesen Sie die Dokumentation.

32
Vitalii Zurian

Hier sind einige verschiedene Möglichkeiten:

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

oder

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

oder

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

Ich denke, ein paar Teile werden hier missachtet ... Um das Include in der neuesten Version von Symfony 3.1.10 funktionieren zu lassen, habe ich es folgendermaßen gelöst:

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

Hinweis: include () mit Klammern ..__ Dann werden alle Variablen aus der übergeordneten Vorlage eingefügt. Wenn Sie einige Variablen in der untergeordneten Vorlage einschränken möchten, verwenden Sie nur mit ... (schauen Sie nach).