Zápis podmínky – délka textu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- n.u.r.v.
- Člen | 485
Ahoj, na stránkách si vypisuji ve sloupci novinky a chtěl bych aby když má text víc než 200znaků, aby byl zkrácen na těch 200 znaků + přidán odkaz na celou aktualitu…
Udělal jsem to takto:
<h3>Aktuality pro tento měsíc</h3>
{if $actuallyListCount>0}
{foreach $actuallyList as $item}
<h4>{$item->TITLE}</h4>
{if $item->TEXT|length >= 200}
<p>{$item->TEXT|noescape|truncate:200} <a href="odkaz...">pokračování.</a></p>
{else}
<p>{$item->TEXT|noescape}</p>
{/if}
{/foreach}
{else}
<p>Pro tento měsíc nejsou dostupné žádné aktuality.</p>
{/if}
Problém je že to nějak nefunguje – i text o délce 80 znaků to v podmínce bere jako >=200
Přitom když vypíšu {$item->TEXT|length}, tak se zobrazí správná délka textu
Co dělám špatně? Díky
Edit: pomohlo místo |length dá strlen()…Ale proč to nefunguje s tím helperem?
Editoval n.u.r.v. (29. 5. 2014 23:44)
- Tomáš Votruba
- Moderator | 1114
Pokud voláš helper jinak než při výpisu proměnné, je potřeba volat takto:
{if $template->lenght($item->TEXT) >= 200}
Případně můžeš rovnou použít strlen
:
{if strlen($item->TEXT) >= 200}