Sınırsız Alt Kategori

İstek üzerine daha önce codeigniter için kullanmış olduğum bir kategorileme sistemi,kendinize göre düzenleyip kullanabilirsiniz…

<ul id="altkategori">
 <?php
 // Kategori Listesini Al
 $kategori_list=array();
 $i=0;
 
 foreach($kategoriler as $row_kategori){
 $kategori_list[$i]['id']=$row_kategori->id;
 $kategori_list[$i]['name']=$row_kategori->name;
 $kategori_list[$i]['parent_id']=$row_kategori->parent_id;
 $i++;
 }
 function SinirsizKategoriListele($kategoriArray , $ebeveyn = 0 , $kademe_pixel = 5 , $i = 0 , $menuler = NULL , $nested = FALSE ) 
 { 
 if( empty($kategoriArray) ){
 return;
 }
 if( !$nested ){
 foreach($kategoriArray as $row):
 $items[$row['parent_id']][]=$row;
 endforeach;
 }else{
 $items=$kategoriArray;
 }
 foreach( $items[$ebeveyn] as $sayfa ){
 $bosluk=str_repeat(' ',($i * $kademe_pixel));
 $menuler .= '<li><a href="'.base_url()."products/category/".$sayfa['id']."/".seolinkhtml($sayfa['name']).'">'.$sayfa['name'].'</a>'.PHP_EOL;
 if(isset($items[$sayfa['id']])){
 $menuler .= '<ul>'.PHP_EOL;
 $menuler=SinirsizKategoriListele($items,$sayfa['id'],$kademe_pixel,($i + 1),$menuler,TRUE);
 $menuler .= '</ul>'.PHP_EOL;
 }
 
 $menuler .= '</li>'.PHP_EOL;
 }
 return $menuler;
 }
 echo SinirsizKategoriListele($kategori_list);
 ?>
</ul>