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)}}