Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Линк Листы
»
Тема:
XPL-2 + Smarty. Как выводить категории колонками?
Новая тема
Ответить
цитата
12/12/07 в 16:25
Leka
Xpowerlinks 2 использует Смарти в шаблонах.
Может быть кто-то знает как средствами смарти разбивать автоматически листинг категорий на несколько колонок
Категории выводятся в шаблоне таким кодом:
Код:
{section name=c loop=$categories}
<a href="{$categories[c].url}">{$categories[c].name}</a><br>
{sectionelse}
No categories
{/section}
Как научить Смарти рабивать этот листинг на несколько td?
Я думаю нужно считать шаги цикла и через определенное количество шагов ставить td
Но как это сделать я хз...
цитата
12/12/07 в 16:34
KVS Support
Примерно так:
Код:
<tr><td>
{section name=c loop=$categories}
{if $smarty.section.c.iteration % 4 == 0}</td><td>{/if}
<a href="{$categories[c].url}">{$categories[c].name}</a><br>
{sectionelse}
No categories
{/section}
</td></tr>
цитата
12/12/07 в 16:46
Leka
Спасибо! Практически работает.
Махонькая незадача:
Я понял в данном случа 4 это число строк в колонке...
Только почему то получается первая колонка на 1 строку меньше чем нужно, а последняя колонка - всего 1 строка
цитата
12/12/07 в 18:11
KVS Support
По ходу просто местами поменять надо строки:
Код:
<tr><td>
{section name=c loop=$categories}
<a href="{$categories[c].url}">{$categories[c].name}</a><br>
{if $smarty.section.c.iteration % 4 == 0}</td><td>{/if}
{sectionelse}
No categories
{/section}
</td></tr>
А кол-во столбцов легко сменить - 4-ка в коде (% 4) - и отвечает за них.
цитата
12/12/07 в 19:04
Leka
Громадное спасибо!
+3 два раза
цитата
12/12/07 в 19:20
Leka
Кстати еще назрел вопросик:
А можно ли средствами Смарти выводить в определенной очередности данные из двух секций?
К примеру есть секция {section name=li loop=$links} и секция {section name=ban loop=$baners}
Можно ли научить Смартю выводить 9-10 строк из первой секции а потом лепить одну строку из второй? Типа чередование 10:1
цитата
12/12/07 в 19:36
KVS Support
Под конкретную задачу решение можно простое подобрать. К примеру зная что у тебя всегда 3 баннера есть в $baners можно сделаь так:
Код:
{section name=li loop=$links}
{$links[li].smth_data}
{if $smarty.section.li.iteration == 3} {$baners[0].banner_url_or_other_field} {/if}
{if $smarty.section.li.iteration == 6} {$baners[1].banner_url_or_other_field} {/if}
{if $smarty.section.li.iteration == 9} {$baners[2].banner_url_or_other_field} {/if}
{/section}
На самом деле этот код будет работать и есть у тебя меньше 3-х или больше 3-х баннеров - просто в первом случае ничего не выведется а во втором не выведется более 3-х баннеров - т.е. на самом деле этот вариант может быть довольно удобным. В общем случае тоже можно подобную задачу записать, но в синтаксисе могу ошибиться на вскидку:
Код:
{assign var=li_counter value=`0`}
{section name=li loop=$links}
{$links[li].smth_data}
{if $smarty.section.li.iteration % 3 == 0}
{if $baners[li_counter].banner_url_or_other_field!=''}
{$baners[li_counter].banner_url_or_other_field}
{assign var=li_counter value=`$li_counter+1`}
{/if}
{/if}
{/section}
цитата
13/12/07 в 13:01
Wetall2
Мне необходимо сделать так, чтоб в листинге с фришниками выводились линки и на платники, к примеру каждая пятая линка спонсорская, может кто нить знает код?
В мануале написано что это возможно, цитирую:
• Листинг спонсорских ссылок может быть выведен на страницу либо отдельно от основного, либо «подмешан» в основной листинг с визуальным «выделением» спонсорских ссылок.
цитата
13/12/07 в 13:41
dDan
А я и не знал что там смарти... Это очень даже неплохо можно многое сделать, удобный шаблонизатор.
цитата
13/12/07 в 20:17
Vasilich
Wetall2 писал:
Мне необходимо сделать так, чтоб в листинге с фришниками выводились линки и на платники, к примеру каждая пятая линка спонсорская, может кто нить знает код?
В мануале написано что это возможно, цитирую:
• Листинг спонсорских ссылок может быть выведен на страницу либо отдельно от основного, либо «подмешан» в основной листинг с визуальным «выделением» спонсорских ссылок.
Коль пошла такая пьянка, присоеденяюсь к вопросу, пробовал, крутил, получается в листинге либо скопом платники вверху и потом фрихи , либо внизу платники , а так чтобы платниками листинг размешать , не получилось, мож кто код кинет?
Новая тема
Ответить
Эта страница в полной версии