Есть категории с различными уровнями вложенности , как их вывести в список и где это лучше сделать, в контроллере или в шаблоне(виде)?
Пробовал рекурсией но выводит только категории с 0 уровнем вложенности, в чем проблема?
Код:
public function build_tree($cats, $parent_id)
{
if (is_array($cats) and isset($cats[$parent_id]))
{
$tree = '<ul>';
foreach ($cats[$parent_id] as $cat)
{
$tree .= '<li>' . html::anchor('catalog/cat/c' . $cat->id, $cat->title, array('class' => 'list'));
$tree .= $this->build_tree($cat, $cat->id);
$tree .= '</li>';
}
$tree .= '</ul>';
}
else
return null;
return $tree;
}
Код:
$categories = ORM_MPTT::factory('category')->fulltree()->as_array();
//$cats = array();
foreach ($categories as $row)
{
$cats[$row->parent_id][] = $row;
}
$s=$this->build_tree($cats, '0');
$this->template->s = $s;