Zusammengesetzte Variablen in Smarty


July 09, 2010 at 11:12
PHP

Die Ausgangslage: Ich habe ein Produkt, dem in der Datenbank eine Statusvariable zugewiesen wird (0=normal, 1=abgelaufen, 2=ausverkauft, usw). Beim Ansehen des Produkts möchte ich jetzt den entsprechenden Text ausgeben über den Status des Produkts. Da meine Seite mehrsprachig ist, sind meine Texte alle in einem großen $trans Array gespeichert. Heißt, wenn ich den jeweiligen Status ausgeben will, muss ich
{if $product.status == 0} 
  {$trans.statusmeldung0}
{elseif $product.status == 1} 
  {$trans.statusmeldung1} 
{elseif $product.status == 2}
  {$trans.statusmeldung2}
{elseif $product.status == 3}
  {$trans.statusmeldung3}
{/if}
schreiben. Da noch nicht feststeht, ob nicht weitere Zustände für den Status hinzukommen, hab ich mir in den Kopf gesetzt, das mit zusammengesetzten Variablen zu machen. Und siehe da, im Gegensatz zu Typo3 und seiner stinkenden Community wurde ich binnen kürzester Zeit fündig und gebe meine Statusmeldung jetzt so aus:
{assign var=thestatus value="statusmeldung%s"|sprintf:$product.status}
{$trans.$thestatus}

Tags: smarty variable Variablen variable variables


Hinterlasse einen Kommentar: