|
Baboot ↓
|
 |
|
15 Май, 2009, 10:27:08
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 10
Сообщений: 441 Сила слова: 2.27
|
вот собсна. Вобщем не знаю как красивее и читабельней сделать. Мож кто то реализовывал? Поделитесь опытом. Есть массив вида:
$cList = array("0"=>array(
"id" =>"1",
"name" =>"firstEl"
"daughEl" =>array()
)
"1"=>array(
"id" =>"2",
"name" =>"secEl"
"daughEl" =>array(
"id" =>"2",
"name" =>"secEl"
"daughEl" =>array()
)
)
)
// и т.д. макс вложенность до 5 элементов
Нужно вывести на экран иерархичепский список... Геммор в том что этот массив "резиновый". То есть он постоянно будет изменятся нужен универсальный(рекурсивный перебор данных) перебор в смарти и выод на экран. У меня только мысли только через include если размер daughEl больше 0.
|
|
|
|
« Последнее редактирование: 15 Май, 2009, 10:30:08 от Baboot »
|
Записан
|
2b||!2b
|
|
|
|
phpdude ↓
|
 |
|
15 Май, 2009, 10:29:31 , спустя 2 минуты 23 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
вот собсна. Вобщем не знаю как красивее и читабельней сделать. Мож кто то реализовывал? Поделитесь опытом. Есть массив вида:
$cList = array("0"=>array(
"id" =>"1",
"name" =>"firstEl"
"daughEl" =>array()
)
"1"=>array(
"id" =>"2",
"name" =>"secEl"
"daughEl" =>array(
"id" =>"2",
"name" =>"secEl"
"daughEl" =>array()
)
)
)
// и т.д. макс вложенность до 5 элементов
красивее на рекурсии ))
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Baboot ↓
|
 |
|
15 Май, 2009, 10:32:16 , спустя 2 минуты 45 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 10
Сообщений: 441 Сила слова: 2.27
|
красивее на рекурсии ))
Да я понимаю) тока как ее самую через смарти реализовать. Не сталкивался с такой проблемой.
|
|
|
|
|
Записан
|
2b||!2b
|
|
|
|
Baboot ↓
|
 |
|
15 Май, 2009, 10:47:57 , спустя 15 минут 41 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 10
Сообщений: 441 Сила слова: 2.27
|
Что, никто не поможет? Профессионалы называются))))
|
|
|
|
|
Записан
|
2b||!2b
|
|
|
|
phpdude ↓
|
 |
|
15 Май, 2009, 10:51:15 , спустя 3 минуты 18 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
Что, никто не поможет? Профессионалы называются))))
в бан захотел?)
тебе просто надо сделать темплейт который может сам в себя инклудить при определенном условии.
епт а самим подумать? начинающие называются))
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Baboot ↓
|
 |
|
15 Май, 2009, 10:54:30 , спустя 3 минуты 15 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 10
Сообщений: 441 Сила слова: 2.27
|
в принципе так и делаю. Больше ничего на ум не пришло....
|
|
|
|
|
Записан
|
2b||!2b
|
|
|
|
phpdude ↓
|
 |
|
15 Май, 2009, 10:57:29 , спустя 2 минуты 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20781 Сила слова: 1.66
|
в принципе так и делаю. Больше ничего на ум не пришло....
используй xslt, в нем это обычная вещь))
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
phpdude ↓
|
 |
|
15 Май, 2009, 10:57:37 , спустя 8 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
ооо! зы: 5000
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Убийца ↓
|
 |
|
15 Май, 2009, 10:15:51 , спустя 11 часов 18 минут 14 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
адский парень
Группа: Жмурики Карма: 7
Сообщений: 530 Сила слова: 1.32
|
Baboot, если ты не эстет в отношении мвц, то рекурсию выполни в пхп, получив нечто вида
array
(
[0] => array
(
"id" => "1",
"name" => "firstEl"
"level" => 0
),
...
);
и потом приассигни это в смарти
|
|
|
|
|
Записан
|
|
|
|
|
Baboot ↓
|
 |
|
17 Май, 2009, 10:55:17 , спустя 2 дня 39 минут 26 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 10
Сообщений: 441 Сила слова: 2.27
|
мож кому пригодится решил так:
<!-- Темплата cList.tpl -->
{foreach item='cList' from=$object.daughter}
{*здесь обработка данных*}
{if $cList.daughter|@count>0}
{include file='cList.tpl' object=$cList}
{/if }
{/foreach}
|
|
|
|
« Последнее редактирование: 17 Май, 2009, 11:12:45 от Baboot »
|
Записан
|
2b||!2b
|
|
|
|
Убийца ↓
|
 |
|
18 Май, 2009, 06:15:57 , спустя 19 часов 20 минут 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
адский парень
Группа: Жмурики Карма: 7
Сообщений: 530 Сила слова: 1.32
|
мож кому пригодится решил так:
<!-- Темплата cList.tpl -->
{foreach item='cList' from=$object.daughter}
{*здесь обработка данных*}
{if $cList.daughter|@count>0}
{include file='cList.tpl' object=$cList}
{/if }
{/foreach}
концепт-пиздец, реализация норм)
|
|
|
|
|
Записан
|
|
|
|
|
Baboot ↓
|
 |
|
18 Май, 2009, 06:18:28 , спустя 2 минуты 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 10
Сообщений: 441 Сила слова: 2.27
|
Убийца, почему пиздец то? Наоборот удобно, не нужно плодить данные. Универсальный рубрикатор. есть ид, если есть родитель то парент=ид записи родителя. Получается иерархический список. Удобно ёпт. Вот тока с сраными рекурсиями бесит возиться при парсинге.
|
|
|
|
|
Записан
|
2b||!2b
|
|
|
|
phpdude ↓
|
 |
|
18 Май, 2009, 06:18:57 , спустя 29 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
{if $cList.daughter|@count>0}
{include file='cList.tpl' object=$cList}
{/if }
===
{if count($cList.daughter)>0}
{include file='cList.tpl' object=$cList}
{/if }
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
phpdude ↓
|
 |
|
18 Май, 2009, 06:19:34 , спустя 37 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
Убийца, почему пиздец то? Наоборот удобно, не нужно плодить данные. Универсальный рубрикатор. есть ид, если есть родитель то парент=ид записи родителя. Получается иерархический список. Удобно ёпт. Вот тока с сраными рекурсиями бесит возиться при парсинге.
почитай про бинарные деревья в бд, думаю тогда ты поймешь что твой концепт - пиздец, причем полный
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
phpdude ↓
|
 |
|
18 Май, 2009, 06:19:54 , спустя 20 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
Убийца, почему пиздец то? Наоборот удобно, не нужно плодить данные. Универсальный рубрикатор. есть ид, если есть родитель то парент=ид записи родителя. Получается иерархический список. Удобно ёпт. Вот тока с сраными рекурсиями бесит возиться при парсинге.
почитай про бинарные деревья в бд, думаю тогда ты поймешь что твой концепт - пиздец, причем полный
с увеличением рубрик, количество запросов к бд растет ой ой ой
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|