HTML-Tags nur dann, wenn die Variable exisitert

Diskussionen zur Smarty-Template-Engine
Post Reply
cyberman

HTML-Tags nur dann, wenn die Variable exisitert

Post by cyberman »

Hier im Forum wurden schon häufig folgende Smarty-Prüfungen für die Anzeige von Variablen empfohlen:

Code: Select all

{if $varname} 
<p> 
{$varname} 
</p> 
{/if} 
Grundsätzlich korrekt, es geht aber auch kürzer ... mit einem Modifikator

Code: Select all

<?php 
function smarty_modifier_wrap($var, $prefix, $suffix) 
{ 
    if (isset($var) && $var != '') $output = $prefix.$var.$suffix; 
    return $output;
} 
?>
Damit reduziert sich der erste Block auf

Code: Select all

{$varname|wrap:"<p>":"</p>"}
Anstatt der html-Tags kann natürlich auch jeder beliebiger Text verwendet werden ;) ...
Last edited by cyberman on Mon May 31, 2010 7:31 pm, edited 1 time in total.
nhaack

Re: HTML-Tags nur dann, wenn die Variable exisitert

Post by nhaack »

Excellenter Tip!

Gerade bei diesen vielen kleinen Schnippselchen, die amn so verwendet macht das Sinn und gestaltet den Quelltext übersichtlicher.
lume

Re: HTML-Tags nur dann, wenn die Variable exisitert

Post by lume »

interessant!
Wo muss denn diesen smarty modifier implementieren? Sprich wo muss dieser php Code eingebaut werden, damit er für smarty zur Verfügung steht?

sorry für die Nachfrage
Ludger
cyberman

Re: HTML-Tags nur dann, wenn die Variable exisitert

Post by cyberman »

Du speicherst das gepostete Schnipsel in eine Datei namens modifier.wrap.php und lädst ihn in das Verzeichnis /libs/smarty/plugins.

Fertig

http://www.smarty.net/manual/de/plugins.modifiers.php
Post Reply

Return to “Smarty-Tipps und -Tricks”