hell0w0rd
Продвинутый новичок
Помогите пожалуйста сделать правильно и желательно красиво, долго пробовал сам, но никак не получается, вот что вышло:
Так выглядит тестовый массив $list:
Подменю с Тульские ясное дело не выводится, потому что нет рекурсивного вывода подменю, пожалуйста помогите доработать
PHP:
public function processMenuData($group, $list){
$menu = "<ul id='".$group['cssid']."''>";
foreach ($list as $key => $value){
$submenu = "";
if($value['parent']==0){
$menu .= "<li>";
$menu .= "<a href='".$value['href']."' title='".$value['title']."'>".$value['name']."</a>";
foreach ($list as $subkey => $subvalue) {
if($subvalue['parent']==$value['id']){
$submenu .= "<li><a href='".$subvalue['href']."' title='".$subvalue['title']."'>".$subvalue['name']."</a></li>";
}
}
if($submenu!="") $menu .= "<ul class='submenu'>".$submenu."</ul>";
$menu .= "</li>";
}
}
$menu .= "</ul>";
return $menu;
}
PHP:
Array
(
[0] => Array
(
[id] => 1
[name] => Главная
[href] => /
[title] => Главная
[group] => 1
[parent] => 0
)
[1] => Array
(
[id] => 2
[name] => Каталог
[href] =>
[title] => Каталог товаров
[group] => 1
[parent] => 0
)
[2] => Array
(
[id] => 6
[name] => О нас
[href] =>
[title] => О нас
[group] => 1
[parent] => 0
)
[3] => Array
(
[id] => 7
[name] => Фотоальбом
[href] => /photo
[title] => Фотоальбом
[group] => 1
[parent] => 6
)
[4] => Array
(
[id] => 8
[name] => Контакты
[href] => /contacts
[title] => Контакты
[group] => 1
[parent] => 6
)
[5] => Array
(
[id] => 9
[name] => Бублики
[href] => /catalog/1
[title] => Бублики
[group] => 1
[parent] => 2
)
[6] => Array
(
[id] => 10
[name] => Пряники
[href] => /catalog/2
[title] => Пряники
[group] => 1
[parent] => 2
)
[7] => Array
(
[id] => 11
[name] => Тульские
[href] => /сatalog/2/1
[title] => Тульские
[group] => 1
[parent] => 10
)
)