Разбиение последних материалов на две колонки

#1 4 сентября 2009 в 13:15
Как сделать, чтобы последние материалы выводились в две колонки? На форуме не нашел. Я делал как, правил файл mod_latest.tpl заменил там все на такое:
  1. {$j = 0}
  2. <table width="600" border="0" cellspacing="0" cellpadding="0">
  3. <tr>
  4. {foreach key=aid item=article from=$articles}
  5. {if $j==2}
  6. </tr><tr>
  7. {$j = 0}
  8. {/if}
  9. <td width="300px"><div class="mod_latest_entry">
  10. <a class="mod_latest_title" href="{$article.href}">{$article.title}</a>
  11. {if $cfg.showdate}<div class="mod_latest_date"><a href="{$article.authorhref}">{$article.author}</a> &mdash; {$article.date}</div>{/if}
  12. {if $cfg.showdesc}<div class="mod_latest_desc">{$article.description}</div>{/if}
  13. {if $cfg.showcom}<div class="mod_latest_comments"><a href="{$article.href}">Комментарии ({$article.comments})</a></div>{/if}
  14. </div></td>
  15. {$j++}
  16. {/foreach}
  17. </tr>
  18. </table>
  19. {if $cfg.showrss}
  20. <div class="mod_latest_rss">
  21. <a href="/rss/content/{$rssid}/feed.rss">Лента материалов</a>
  22. </div>
  23. {/if}
При этом выводить выводит в две колонки но смарти почему-то промежуточные значени j выводит, то есть перед материалами такая колонка:
1
2
2
Что-то в синтаксисе не так у меня?
#2 4 сентября 2009 в 14:01
Не путай смарти и пхп! По моему {$j++} — выводит значение!
#3 4 сентября 2009 в 15:28
)) хорошо не буду а как тогда?
#4 4 сентября 2009 в 16:02
пробовал через итерации циклов не получается вообще все пропадает, как быть? Удивлен что ни у кого потребности не возникало выводить материалы не в одну колонку
#5 4 сентября 2009 в 21:30
Вот мой, возможно не совсем правильный, но рабочий вариант
{php}$j=0{/php}
<table border="0" cellspacing="0" cellpadding="6">
<tr>
{foreach key=aid item=article from=$articles}
{php}
if ($j==2){ echo’</tr><tr>’; $j=0;}
{/php}
<td>
<a class="mod_latest_title" href="{$article.href}">{$article.title}</a>
{if $cfg.showdate}<div class="mod_latest_date"><a href="{$article.authorhref}">{$article.author}</a> — {$article.date}</div>{/if}
{if $cfg.showdesc}<div class="mod_latest_desc">{$article.description}</div>{/if}
{if $cfg.showcom}<div class="mod_latest_comments"><a href="{$article.href}">Комментарии ({$article.comments})</a></div>{/if}
</td>
{php}$j=$j+1{/php}
{/foreach}
</tr>
</table>
{if $cfg.showrss}
<div class="mod_latest_rss">
<a href="/rss/content/{$rssid}/feed.rss">Лента материалов</a>
</div>
{/if}
#6 5 сентября 2009 в 05:25
forlord у меня ваш вариант не работает, вы его проверяли у себя?
#8 5 сентября 2009 в 08:16
да все окей видимо у меня где то ошибка была в синтаксисе, спасибо. Тема закрыта
Листинг решения:
  1. {php}$j=0{/php}
  2. <table border="0" cellspacing="0" cellpadding="6">
  3. <tr>
  4. {foreach key=aid item=article from=$articles}
  5. {php}
  6. if ($j==3){ echo'</tr><tr>'; $j=0;}
  7. {/php}
  8. <td>
  9. <a class="mod_latest_title" href="{$article.href}">{$article.title}</a>
  10. {if $cfg.showdate}<div class="mod_latest_date"><a href="{$article.authorhref}">{$article.author}</a>{$article.date}</div>{/if}
  11. {if $cfg.showdesc}<div class="mod_latest_desc">{$article.description}</div>{/if}
  12. {if $cfg.showcom}<div class="mod_latest_comments"><a href="{$article.href}">Комментарии ({$article.comments})</a></div>{/if}
  13. </td>
  14. {php}$j=$j+1{/php}
  15. {/foreach}
  16. </tr>
  17. </table>
  18. {if $cfg.showrss}
  19. <div class="mod_latest_rss">
  20. <a href="/rss/content/{$rssid}/feed.rss">Лента материалов</a>
  21. </div>
  22. {/if}
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.