truncate v cyklu pro vypisování novinek
- Mikulas Dite
- Člen | 756
Chyba bude asi v modelu, hádám fetch()
místo
fetchAll()
. Zkontroluj, co máš v té iterované promněné.
- Nox
- Člen | 378
Dávat název položky stejný jako název iterované proměnné mi nepřijde moc dobrý nápad jak z hlediska funkčnosti tak srozumitelnosti…
To echo by snad nemuselo být… nejde teda
<?php
{foreach $news as $newsItem}
<tag>{$newsItem|truncate:30}</tag>
{/foreach}
?>
Editoval Nox (25. 12. 2010 18:00)
- Nox
- Člen | 378
Aha, no tak jasně pokud položka v tom arrayi $news je objekt, tak
musíš co jsem postoval upravit jako:
(resp. jako přístup k prvku, dibi nepoužívám, ale tipuju že umí jak
todle tak array přístup)
<?php
<tag>{$newsItem->polozkuCoChcesVypsat|truncate:30}</tag>
?>
někdy nejde brát navržené kódy úplně doslova/copypaste, ale spíš jako naťuknutí kdy je to vedlejší jen okrajově (v tomhle případě je okrajový tag nebo co se konkrétně vypisuje)
- Bertram
- Člen | 75
Tak mi to nedalo a ten tvůj případ si nasimuloval.
Vše mi funguje jak má,takže bych tu chybu opět viděl v obsahu té
proměnné.
Pokud dump vypadá nějak takto,tak to musí fungovat.
array(10) [
0 ⇒ DibiRow(2) {
„news“ ⇒ „bla-bla-bla-bla-bla-bla-bla-bla-bla-bla-bla-bla-“ (50)
„neco“ ⇒ „dalsi“ (5)
}
1 ⇒ DibiRow(2) {
„news“ ⇒ „bla-bla-bla-bla-bla-bla-bla-bla-bla-bla-bla-bla-“ (50)
„neco“ ⇒ „dalsi“ (5)
- Nox
- Člen | 378
Buď toto
<?php
<div id="news">
{if $news}
<table>
<tr><th>Novinky</th></tr>
{foreach $news as $newsItem}
<tr>
<td>{$newsItem->news|truncate:30}</td>
</tr>
{/foreach}
</table>
{/if}
</div>
?>
anebo se to snad nějak přepisuje před uložením/otestováním a výpisem, nebo nevim… nebo tam zkus do té šablony testovně nacpat count()