1 Erklärung
Durch die Funktion hascontent, kann überprüft werden ob der im content-Bereich befindende HTML-Code leer ist. Der HTML-Code, der sich innerhalb des hascontent-Teil befindet, wird dann nicht ausgegeben. Interessant ist diese Funktion, wenn man dynamisch eine Liste oder Tabelle erstellt und im Fall einer leeren Tabelle oder Liste den Kopfteil der HTML-Funktionen nicht mit ausgeben möchte.
2 Beispiele
Smarty
{assign var=foo value=1}
{hascontent}
<ul>
{content}
{if $foo == 1}<li>Liste</li>{/if}
{/content}
</ul>
{/hascontent}
{* Ausgabe *}
<ul>
<li>Liste</li>
</ul>
Display More
Da die Variable $foo == 1 ist, wird innerhalb des content-Tags der Wert <li>Liste</li> gesetzt. Dies bewirkt, dass auch das öffnende und schließende <ul> ausgegeben wird.
Code
{assign var=foo value=2}
{hascontent}
<ul>
{content}
{if $foo == 1}<li>Liste</li>{/if}
{/content}
</ul>
{/hascontent}
{* Ausgabe: Nichts *}
Display More
Da die Variable $foo nun den Wert 2 hat und somit die Überprüfung fehlschlägt, wird innerhalb des content-Tags nichts ausgegeben, weswegen auch der hascontent-Teil nichts zurückliefert.
Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!