[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Дерево в Smarty
Страницы: 1, 2
vegasmoscow
kaww
Если $c уже определена {assign var='c' value=0}, будет ли выполняться условие {if !$c}? Или при значении 0 это и есть !$c?

С количеством циклов я, конечно, наворотил, но другого ничего не пришло в голову.
vegasmoscow
kaww
Я подкорректировал Ваш код, у меня он не сработал, может я где-то ошибся, не знаю. Вот что у меня получилось.

Код для вывода только родительских категорий (ничего не менял).

{foreach item=item from=$catalog}
{if $item[2] == $parent}
<div class="parent" id="{$item[0]}">{$item[1]}</div>
{include file="category_tree_test_sub.tpl.html" parent=$item[0] catalog=$catalog}
{/if}
{/foreach}


Код для вывода только дочерних категорий с любым уровнем вложенности.

{assign var='c' value=0}

{foreach item=item from=$catalog}
{if $item[2] == $parent}
{if $c == 0}
{assign var='c' value=1}
<div class=subcat_wrapper_child id={$parent}>
{/if}
<div class="child" id="{$item[0]}">{$item[1]}</div>
{include file="category_tree_test_sub.tpl.html" parent=$item[0] catalog=$catalog}
{/if}
{/foreach}
{if $c !== 0}</div>{/if}


Результат.

<div class="parent" id="1">id = 1 || parent = 0</div>
<div
class="parent" id="2">id = 2 || parent = 0</div>
<div
class=subcat_wrapper_child id=2><!-- Обертка для jQuery-сворачивания подразделов -->
<div class="child" id="3">id = 3 || parent = 2</div>
<div
class="child" id="4">id = 4 || parent = 2</div>
<div
class=subcat_wrapper_child id=4><!-- Обертка для jQuery-сворачивания подразделов -->
<div class="child" id="7">id = 7 || parent = 4</div>
</div>
</div>
<div
class="parent" id="5">id = 5 || parent = 0</div>
<div
class="parent" id="6">id = 6 || parent = 0</div>


Теперь ничего лишнего не выводится и результат полностью совпадает с макетом! Это была сложная задачка для меня, 4 дня и 4 ночи я ее ковырял. Вопрос решен с Вашей помощью, спасибо! Надеюсь, при переносе в рабочий проект ничего не сломается))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.