Template (Twig) dynamische Variablen

Guten Morgen,

hat jemand schonmal im Template, also mit Twig, dynamisch einen Variablen-Namen erstellt? Ich möchte mithilfe einer Id (aus einer Variable) eine andere Variable abfragen.

In meinem konkreten Beispiel möchte ich mithilfe der

page.header.navigation.active.id

die Child-Kategorien der aktiven Kategorie abfragen und ausgeben. Leider funktioniert es so z.B. nicht, da Twig dann daraus einen String macht:

{% set vartest = "page.header.navigation.tree."~ page.header.navigation.active.id ~".children" %}

Ich habe es schon mit der Twig Attribute-Funktion getestet, aber habe es nicht hinbekommen. Hat jemand eine Idee?

Viele Grüße
Tom

Theoretisch funktioniert es so:

{% set variableName = 'myVariable' %}
{% set dynamicValue = attribute(_context, variableName) %}

{{ dynamicValue }}

oder so:

{% set dynamicVariables = {
    'variable1': 'Wert 1',
    'variable2': 'Wert 2',
    'variable3': 'Wert 3'
} %}

{% set variableName = 'variable2' %}
{% set dynamicValue = dynamicVariables[variableName] %}

{{ dynamicValue }}

Aber mit den wenn ich diese Beispiele auf mein konkreten Anwendungsfall anpasse so mit der page.header.navigation.active.id wird mit {{dump()}} nur NULL ausgegeben. Hat jemand eine Idee woran das liegt?

Habe es dann doch hinbekommen. Falls noch jemand auf der Kategorie-Seite die Child-Kategorien der aktiven Kategorie anzeigen möchte, oder generell mit Twig dynamisch Variablen erstellen möchte hier der Code:

{% set CatId = page.header.navigation.active.id %}
{% set CatChildren = page.header.navigation.tree[CatId].children %}
{{dump(CatChildren)}}
2 „Gefällt mir“

CatId wird bei mir noch ausgegeben.
{{dump(CatChildren)}} kommt bei mir jedoch null

Sorry funktioniert doch. ich muss ein Tippfehler gehabt haben. Ich wollte mir die jeweiligen Unterkategorien auf einer bestimmten Kategorie im Template anzeigen lassen.

Mit

{% set CatChildren = page.header.navigation.tree[CatId].children %}

bekomme ich aber nur die oberste Ebene. Auf einer Unterkategorie die nochmals Kinderkategorien hat funktioniert das nicht.