Aktuelles auf prestashop-deutschland.de

Rechtstexte für Onlinehändler mit Proetcted Shops Gute Neuigkeiten für Onlinehändler, durch die Schnittstelle zu Protected Shops lassen sich Rechtstexte in nur wenigen Schritten in den PrestaShop integrieren. Protected Shops bietet Onlinehändlern...

Readmore

ClickandBuy PrestaShop Modul Es ist soweit wir haben das ClickandBuy Modul in Zusammenarbeit mit ClickandBuy für den PrestaShop erfolgreich fertiggestellt und freuen uns das wir dieses heute ankündigen dürfen. Mit ClickandBuy lassen...

Readmore

ClickandBuy PrestaShop Modul Es ist soweit wir haben das ClickandBuy Modul in Zusammenarbeit mit ClickandBuy für den PrestaShop erfolgreich fertiggestellt und freuen uns das wir dieses heute ankündigen dürfen. Mit ClickandBuy lassen...

Readmore

PrestaShop Installer auf Deutsch - germanInstaller Mit Freude kündigen wir heute den PrestaShop Installer als Deutsche Version an. Nachdem wir erfolgreich innerhalb der Community die Übersetzung fertiggestellt haben lag es nahe die Übersetzung fest...

Readmore

Gate2Shop Payment für den PrestaShop In Zusammenarbeit mit der GTS Online Solutions Ltd. haben wir das Gate2Shop Modul für den PrestaShop entwickelt. Das Modul steht ab sofort unter der Open Source Lizenz OSL zur Verfügung und kann kostenlos...

Readmore

  • Prev
  • Next

Smarty Syntax

Grundlegende Syntax

Die Smarty Template-Tags werden durch eine geschweifte Klammer {…} eingeleitet. Smarty kann in PrestaShop in allen Templates die mit der Endung .tpl enden verwendet werden.

Smarty Variablen

Templatevariablennamen beginnen mit einem $dollar-Zeichen. Die Namen derVariablen können Ziffern, Buchstaben und Unterstriche (‘_’) enthalten, sehr ähnlich den Variablen in PHP. Numerische Arrayindizes können referenziert werden und auch Nichtnumerische. Zugriff auf Objekteigenschaften und -methoden sind auch möglich. Konfigurationsvariablen und Superglobals (S_SERVER, $_GET, $_POST, $_REQUEST…) werden jedoch über die spezielle Variable {$smarty.config} referenziert.

Zugriff auf Variablen

{$foo}, Zeigt einfache Variable an (kein Array oder Objekt)
{$foo[4]}, Zeigt 5. Element von einem Array an, deren Schlussel bei 0 beginnen
{$foo.bar}, Zeigt das Element zum Schlüssel "bar" des Arrays an (wie PHPs $foo['bar'])
{$foo.$bar}, Zeigt das Element eines variablen Schlüssels an (wie PHPs $foo[$bar])

Zugriff auf Globals und Konfigurationsvariablen

{#foo#}, Zeift die Konfigurationsvariable "foo" an
{$smarty.config.foo}, Synonym für {#foo#}
{$foo[bar]}, Syntax zum zugriff auf Element in einer Section-Schleife, siehe {section}
{assign var=foo value="baa"}{$foo}, Gibt "baa" aus, siehe {assign}

Zugriff auf Arrays

{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}

Zugriff auf Objekte

{$foo->bar}, Zeigt eine Eigenschaft "bar" des Objekts $foo an
{$foo->bar()}, Zeigt den Rückgabewert der Objectmethode "bar" an
{$foo->bar($baz,2,$bar)}, Parameter übergeben

Templates inkludieren

Wenn wir teile unserer Smarty Templates trennen möchten um diese mehrfach in anderen Templates global zu verwenden können wir auf die {include …} Anweisung zurückgreifen. PrestaShop nutzt diesen Mechanismus z.B. für die header.tpl und footer.tpl, so werden Änderungen die in diesen Dateien durchgeführt automatisch von allen Templates die den header und footer includieren verwendet.

{include file="header.tpl"}
Inhalt
{include file="footer.tpl"}

{if},{elseif},{else} Abfragen

{if}-Statements in Smarty erlauben die selbe Flexibilität wie in PHP, bis auf ein paar Erweiterungen für die Template-Engine. Jedes {if} muss mit einem {/if} kombiniert sein. {else} und {elseif} sind ebenfalls erlaubt. Alle PHP Vergleichsoperatoren und Funktionen, wie ||, or, &&, and, is_array(), etc. sind erlaubt.

Wenn $security angeschaltet wurde, dann müssen alle verwendeten PHP-Funktionen im IF_FUNCS-Array in dem $security_settings-Array deklariert werden.

Hier eine Liste der erlaubten Operatoren. Bedingungsoperatoren müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden. PHP-Äquivalente sind, sofern vorhanden, angeben.

{if $name eq "Chris"}
 Willkommen Chris, schön das du hier bist.
{elseif $name eq "Madlen"}
 Willkommen Madlen, freut mich das du hier bist, hast du nicht etwas vergessen?.
{else}
 Willkommen, wer auch immer du bist :-)
{/if}

Ressourcen

Einen vollständige deutsche Dokumentation die detailliert den Umgang mit Smarty beschreibt finden wir auf den offizielen Seiten von Smarty:

Schreibe einen Kommentar