Многоуровневое меню (проверять есть ли у второго уровня третий) php
Не могу сообразить как проверять есть ли у второго уровня вложенность (на этапе формирования первого уровня меню). Нужно это по следующей причине: В меню две версии, если в первом уровне меню (у вторых уровней) нет вложенности, то бишь третьего уровня, в коде подставляется класс_a, если же у второго уровня есть вложенность, то вид отображения самого второго уровня другой, так как ему присвоить класс_б.
была задумка проверять по ключу ['parent_id'], так как у всех первых уровней он равен 0, а у второго уровня если бы у него была уже вложенность он бы был равен id пункта из второго уровня под которым он и лежит.
Но так и не сообразил как добраться до третьего уровня, что бы узнать его parent_id и подставить его как условие.
место где должна происходить проверка означено переменной "$item"
Буду рад вашей помощи или советам, код ниже! Спасибо
public function build_tree($cats, $parent_id, $sub = false)
{
if(isset($cats[$parent_id])){
foreach ($cats[$parent_id] as $cat){
if(isset($cats[$cat['id']])){
$tree .= '<li class="has-children"><a href="/category/'.$cat['slug'].'">' . $cat['name'] .'</a><ul class=" '. ( $item ? 'cd-dropdown-icons ' : 'cd-secondary-dropdown ') .'is-hidden">
<li class="go-back"><a href="#0">Назад</a></li>
<li class="see-all"><a href="/category/'.$cat['slug'].'">Все в '. $cat['name'].' </a></li>';
}
$tree .= $this->build_tree($cats,$cat['id'],true);
$tree .= '</ul></li>';
}
else
{
$tree .= '<li><a class="cd-dropdown-item item-1" href="/category/'.$cat['slug'].'">' . $cat['name'].'<h3>' . $cat['name'].'</h3>
<p>This is the item description</p>
</a></li>';
}
}
}
return $tree;
}