Action im Template abfragen

Ich möchte gerne im Template abfragen ob eine bestimmte action ausgeführt wird. Für Controller ist dies ja einfach : 

 {if $Controller eq "listing"}Listing{/if} Kann ich allerdings die Action abfragen. Nötig wäre dies für den Controller **checkout** und die Action **finish.**  Damit soll ausgewählt werden ob es sich um ein purchase handelt um in Nachgang der ecomm\_purchase Tag als Datalayer übergeben wird. {if $Action eq "finish"}Listing{/if} funktioniert leider nicht.

Hi,

du kannst dir alle Template-Variablen ansehen, indem du in deinem Smarty-Template “{debug}” setzt. Dort gibt es aber wohl tatsächlich keine Action. Theoretisch müsste auch diese Variante gehen:

{$Shopware->Front()->Request()->getActionName()}

Die sauberere Variante wäre aber vermutlich, den jeweiligen Action-Namen ebenso zu assignen wie den Controllernamen. Da im Template direkt über das SW-Singleton auf den Request zu gehen ist eher ein Notbehelf, der durchaus auch mal fehlschlagen kann, denke ich.

Daniel 

Hallo Daniel,

danke für deine Antwort. Also kann ich mit {$Shopware->Front()->Request()->getActionName()} die aktuelle Action herausfinden und dann meine IF Abfrage starten. Gerne würde ich eine saubere Variante implementieren - kannst du auf eine Doku für das assignen verweisen?

Vielen Dank
Peter

@Misengo schrieb:

Hallo Daniel,

danke für deine Antwort. Also kann ich mit {$Shopware->Front()->Request()->getActionName()} die aktuelle Action herausfinden und dann meine IF Abfrage starten. Gerne würde ich eine saubere Variante implementieren - kannst du auf eine Doku für das assignen verweisen?

Vielen Dank
Peter

Hallo,

eine entsprechende Doku zum Thema assign findest du unter anderem hier: Plugin quick Startup Guide . {$Shopware->Front()->Request()->getActionName()} hat Daniel ja schon erwähnt, dass es da zu Problemen führen kann und es deshalb nicht unbedingt produktiv einsetzbar empfohlen wird.

Beste Grüße

Sebastian

Hallo Sebastian,

dankeschön für den Link. Heißt also ich muss mir ein Plugin für diese Funktion bauen?

 

Besten Dank

Peter