JavaScript / JS

literal

{literal}-Tags erlauben es, einen Block wörtlich auszugeben, d.h. von der Interpretation durch Smarty auszuschliessen. Dies ist vor allem für Javascript- oder andere Blöcke nützlich, die geschwungene Klammern verwenden. Alles was zwischen den {literal}{/literal} Tags steht, wird direkt angezeigt. Wenn in einem {literal}-Block temlate-Tags verwendet werden sollen, is es manchmal sinnvoller {ldelim}{rdelim} statt {literal} zu verwenden.

{literal}
<script language=javascript>
<!--
  function isblank(field) {
    if (field.value == '') {
      return false;
    } else {
      document.loginform.submit();
      return true;
    }
  }
// -->
</script>
{/literal}

ldelim,rdelim

(Ausgabe der Trennzeichen) ldelim und rdelim werden verwendet, um die Trennzeichen auszugeben - in unserem Fall „{“ oder „}“ - ohne dass Smarty versucht, sie zu interpretieren. Um text im Template vor dem Interpretieren zu schützen kann auch {literal}{/literal} verwendet werden. Siehe auch {$smarty.ldelim}.

ldelim, rdelim

{* gibt die konfigurierten Trennzeichen des Templates aus *}
 {ldelim}funktionsname{rdelim} Funktionen sehen in Smarty so aus!

Das obige Beispiel ergibt als Ausgabe:

 {funktionsname} Funktionen sehen in Smarty so aus! 



Ein weiteres Beispiel (diesmal mit javascript)

function foo() {ldelim}
    ... code ...
{rdelim}

Ausgabe:

function foo() {
    ... code ...
}