Codeighter menü listeleme örneği
Merhabalar ben Codeighter ile bir script geliştirdim. Admin panelinden vs. menu ekleme işlemlerini yaptım ama anasayfa da menü kısmında eklediğim menulerı gostermek istiyorum. Listeleyebiliyorum evet ama altmenuleri ayarlayamadım örnek verebilecek olan var mı?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
@reqres 'in yazdığına ek olarak şöyle bir fonksiyonda kullanabilirsin. tüm alt kategorileri yazdırır.
function writeMenu($menus)
{
$html = '<ul>';
foreach($menus as $menu)
{
$html .= '<li><a href="'. $menu["href"] .'">'. $menu["label"] . '</a></li>';
if(!empty($menu["submenu"]))
{
$html .= writeMenu($menu["submenu"]);
}
}
$html .= '</ul>';
return $html;
}
Menüyü viewe nasıl ve hangi formatta gönderdiğini bilmediğim için aşağıda çok basit bir mantıkla bir dizi olarak gönderdiğini varsayıyorum.
$menu = [
[
"href" => "https://www.google.com",
"label" => "Google",
"submenu" => null
],
[
"href" => "https://www.facebook.com",
"label" => "Facebook",
"submenu" => [
[
["href" => "https://fb.com/profil", "label" => "Profil"],
["href" => "https://fb.com/sayfa", "label" => "Sayfa"]
]
]
]
];
//View
echo '<ul>';
foreach($menu as $item){
echo '<li>';
echo '<a href="'.$item["href"].'">'.$item["label"].'</a>';
if(is_array($item["submenu"])){
echo '<ul class="submenu">';
foreach($item['submenu'] as $sub_item){
echo '<li><a href="'.$sub_item["href"].'">'.$sub_item["label"].'</a></li>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';