# Template Funktionen ## CSV-Funktionen ### `quoteCsv` – CSV-Wert mit Anführungszeichen umschließen und escapen ##### Beispiele * `{"Inhalt"|quoteCsv}` > `"Inhalt"` * `{"Inh"alt"|quoteCsv}` > `"Inh""alt"` * `{"Inhalt"|quoteCsv:"'"}` > `'Inhalt'` * `{"Inh'alt"|quoteCsv:"'"}` > `'Inh''alt'` #### Parameter | Pos. | Type | Pflicht | Default | Beschreibung | |------|----------|----------|---------|--------------| | 1 | `string` | Nein | `"` | Umschließendes Zeichen und Escaping-Zeichen | ## XML-Funktionen ### `escapeXml` – Wert für Ausgabe in XML escapen Nachfolgende Zeichen werden umgewandelt. Außerdem werden alle Steuerzeichen (außer Zeilenumbrüche) entfernt. Sollen Zeilenumbrüche zusätzlich entfernt werden, kann der Modifier `stripLineBreaks` verwendet werden. | Zeichen | Ersetzung | |---------|-----------| | `"` | `"` | | `'` | `'` | | `<` | `<` | | `>` | `>` | | `&` | `&` | ##### Beispiel als Modifier ```smarty {$value|escapeXml} ``` ##### Beispiel als Block-Funktion ```smarty {escapeXml}{$value}{/escapeXml} {escapeXml charset="UTF-32"}{$value}{/escapeXml} ``` ### `cdata` – CData-Abschnitt erstellen ##### Beispiel als Modifier ```smarty {assign var="variable" value="Hello
World"} {$variable|cdata} ``` ##### Beispiel als Block-Funktion ```smarty {cdata}Hello
World{/cdata} ``` ##### Ausgabe ``` World]]> ``` ## HTML-Funktionen ### `br2nl` – BR-Tags in Zeilenumbrüche umwandeln ##### Beispiel ```smarty {assign var="variable" value="Hello
World"} {$variable|br2nl} ``` ##### Ausgabe ```text Hello World ``` ### `decodeHtmlSpecialChars` – HTML-Specialchars dekodieren Ersetzt die HTML-Entities für die fünf HTML-Specialchars ( `"`, `'`, `<`, `>`, `&`) durch das ursprüngliche Zeichen. ### `decodeHtmlEntities` – HTML-Entities dekodieren Wandelt alle HTML-Entities (inklusive der HTML-Specialchars) in das ursprüngliche Zeichen zurück. ## URL-Funktionen ### `encodeUrl` Kodiert einen String für die Verwendung in einer URL ### `decodeUrl` Dekodiert einen URL-kodierten String ## Sonstige Funktionen ### `replaceLineBreaks` – Zeilenumbrüche ersetzen ##### Beispiel ```smarty {$variable|replaceLineBreaks} {$variable|replaceLineBreaks:" ZEILENUMBRUCH "} ``` ##### Ausgabe ```text Hello World Hello ZEILENUMBRUCH World ``` ### `dump` – Variablen-Inhalt ausgeben _Methode ist nur zum Debuggen gedacht; nicht für den Einsatz in Produktiv-Umgebungen!_ ##### Beispiel ```smarty {$article|dump} ``` ##### Ausgabe ```text (object) array( 'id' => '15', 'typ' => '2_kat', 'nummer' => '1000001', 'projekt' => '1', ... ) ``` _Ausgabe wurde gekürzt._