Symfony/Twig: “Node “1” does not exist for Node “Twig_Node”

25. Juni 2014

Was ich tun wollte, war je nach Parameter ein twig template zu erweitern (extend) oder eben nicht. Hintergrund: ich wollte eine Seite 2x darstellen, einmal mit komplettem Layout und einmal für ein Overlay ohne. Aber als ich dies hier versuchte

  1. {% if type == 'page' %}
  2. {% extends 'Core::layout.html.twig' %}
  3. {% endif %}

kam von Symfony die Meldung “Node “1” does not exist for Node “Twig_Node”. Der Grund ist offenbar ein grundlegendes Problem mit Twig, es ist nihct möglich, ein extend in ein If einzubetten. Was allerdings geht ist folgendes:

  1. {% extends type == 'page' ? 'Core::layout.html.twig' : 'Core::empty.html.twig' %}

Ich musste mir extra die empty.html.twig erstellen, aber besser als für jede Seite die das können muss 2 Template zu erstellen.