С нами с 30.10.06
Сообщения: 242
Рейтинг: 248
|
Добавлено: 12/12/07 в 16:25 |
Xpowerlinks 2 использует Смарти в шаблонах.
Может быть кто-то знает как средствами смарти разбивать автоматически листинг категорий на несколько колонок
Категории выводятся в шаблоне таким кодом:
Код: |
{section name=c loop=$categories}
<a href="{$categories[c].url}">{$categories[c].name}</a><br>
{sectionelse}
No categories
{/section}
|
Как научить Смарти рабивать этот листинг на несколько td?
Я думаю нужно считать шаги цикла и через определенное количество шагов ставить td
Но как это сделать я хз...
|
|
|
|
kernel-video-sharing.com
С нами с 02.11.03
Сообщения: 825
Рейтинг: 558
|
Добавлено: 12/12/07 в 16:34 |
Примерно так:
Код: | <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> |
|
|
|
|
С нами с 30.10.06
Сообщения: 242
Рейтинг: 248
|
Добавлено: 12/12/07 в 16:46 |
Спасибо! Практически работает.
Махонькая незадача:
Я понял в данном случа 4 это число строк в колонке...
Только почему то получается первая колонка на 1 строку меньше чем нужно, а последняя колонка - всего 1 строка
|
|
|
|
kernel-video-sharing.com
С нами с 02.11.03
Сообщения: 825
Рейтинг: 558
|
Добавлено: 12/12/07 в 18:11 |
По ходу просто местами поменять надо строки:
Код: |
<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) - и отвечает за них.
|
|
|
|
С нами с 30.10.06
Сообщения: 242
Рейтинг: 248
|
Добавлено: 12/12/07 в 19:04 |
Громадное спасибо!
+3 два раза
|
|
|
|
С нами с 30.10.06
Сообщения: 242
Рейтинг: 248
|
Добавлено: 12/12/07 в 19:20 |
Кстати еще назрел вопросик:
А можно ли средствами Смарти выводить в определенной очередности данные из двух секций?
К примеру есть секция {section name=li loop=$links} и секция {section name=ban loop=$baners}
Можно ли научить Смартю выводить 9-10 строк из первой секции а потом лепить одну строку из второй? Типа чередование 10:1
|
|
|
|
kernel-video-sharing.com
С нами с 02.11.03
Сообщения: 825
Рейтинг: 558
|
Добавлено: 12/12/07 в 19:36 |
Под конкретную задачу решение можно простое подобрать. К примеру зная что у тебя всегда 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}
|
|
|
|
|
С нами с 08.12.06
Сообщения: 756
Рейтинг: 531
|
Добавлено: 13/12/07 в 13:01 |
Мне необходимо сделать так, чтоб в листинге с фришниками выводились линки и на платники, к примеру каждая пятая линка спонсорская, может кто нить знает код?
В мануале написано что это возможно, цитирую:
• Листинг спонсорских ссылок может быть выведен на страницу либо отдельно от основного, либо «подмешан» в основной листинг с визуальным «выделением» спонсорских ссылок.
|
|
|
|
С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430
|
Добавлено: 13/12/07 в 13:41 |
А я и не знал что там смарти... Это очень даже неплохо можно многое сделать, удобный шаблонизатор.
|
|
|
|
С нами с 08.06.04
Сообщения: 5651
Рейтинг: 1681
|
Добавлено: 13/12/07 в 20:17 |
Wetall2 писал: | Мне необходимо сделать так, чтоб в листинге с фришниками выводились линки и на платники, к примеру каждая пятая линка спонсорская, может кто нить знает код?
В мануале написано что это возможно, цитирую:
• Листинг спонсорских ссылок может быть выведен на страницу либо отдельно от основного, либо «подмешан» в основной листинг с визуальным «выделением» спонсорских ссылок. |
Коль пошла такая пьянка, присоеденяюсь к вопросу, пробовал, крутил, получается в листинге либо скопом платники вверху и потом фрихи , либо внизу платники , а так чтобы платниками листинг размешать , не получилось, мож кто код кинет?
|
|
Начальник отдела по борьбе с инопланетянами 2-го городского лечебно-трудового профилактория.
|
0
|
|
|