Функция просто проходит по все пунктам и составляет многомерный массив. Но мне понадобилось что бы он еще и строил правильные ссылки, с вложенностью. В базе они находятся только со своим кейвордом (выборка идет по нему).
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- {
- $qGetItem = "SELECT name, keyword, id FROM ".$this->db->dbprefix('content')." where visible=1 and parent=?";
- $out = $res->result_array();
- return false;
- }
- else {
- foreach ($out as $index => $row)
- {
- $path = $path."/".$row['keyword'];
- $out[$index]['link'] = $path; //составляем, правильный, сегментированный uri
- if (in_array($row['keyword'], $uri)) $out[$index]['act'] = true; else $out[$index]['act'] = false; //делаем подсветку активных пунктов в меню
- $out[$index]['childs'] = $this->getBrothers($row['id'], $uri, $path, $level, $items)) //детишки
- }
- }
- return $out;
- }