2016-06-26 6 views
-1

Ich versuche, neue Variable zu erstellen, die von Objektvariable in Zweig Vorlage vorhanden ist (Filter ist Gegenstand):Twig: Wie man Objektvariable setzt?

{% for filter in filters %} 
    {% if filter.type != 'selectImage' %} 
     {{ filter.render()|raw }} 
    {% elseif filter.type == 'selectImage'%} 
     {% set selectFilter = filter %} 
    {% endif %} 
{% endfor %} 

aber ich bekomme Fehler:

Catchable fatal error: Object of class Filters\Filter could not be converted to string in vendor\twig\twig\lib\Twig\Environment.php(403) : eval()'d code on line 40 

auf

{% set selectFilter = filter %} 

Wie kann ich das Objekt auf neue Variablen ausrichten?

Antwort

2

Entsprechend der official TWIG documentation, filter ist der Name eines Tags in TWIG-Sprache.

Sie sollten Ihre Variable im Code umbenennen Probleme in dem generierten PHP-Code zu vermeiden:

{% set selectFilter = myFilter %} 
+0

Hm .. ich das obige Beispiel aktualisiert. Die Variable 'filter' verwendet in _for_ cycle und wok keine Probleme. – Stanislav

+0

Der PHP-Fehler in Ihrer Frage ist klar: Sie können den Namen "Filter" nicht für Ihre TWIG-Variable verwenden. Benennen Sie die 'filter'-Variable überall in Ihrem TWIG-Code um, um den Fehler zu beheben. – Jocelyn

+0

{% set selectFilter = m_filter%} Funktioniert nicht. – Stanislav