Merhaba,
Öncelikle kayıtların altında bir kayıt varmı yokmu onu kontrol etmek için zaten fonksiyon kendini çağırıyor ve yoksa false geliyor bu durumda kodunda bir kaç yer değişikliği yapılması lazım
$altMenuleriGetir = smarty_function_anaMenuBootstrap($menu->id);
Kodunun yerini aşağıdaki kodun üstüne alıcam
$getir .= '<li class="dropdown"><a class= "dropdown-toggle" data-toggle="dropdown" target="'.$menu->hedef.'" href="'.$menu->link.'">'.$menu->link_adi.'</a>';
Sonuç aşağıdaki gibi olucak ve yukarıdaki değişkeni if e sokucam
$altMenuleriGetir = smarty_function_anaMenuBootstrap($menu->id);
if($altMenuleriGetir)
{
$getir .= '<li class="dropdown"><a class= "dropdown-toggle" data-toggle="dropdown" target="'.$menu->hedef.'" href="'.$menu->link.'">'.$menu->link_adi.'</a>';
} else {
$getir .= '<li><a href="'.$menu->link.'">'.$menu->link_adi.'</a>';
}Bu şekilde sorun vermeden çalışması gerekiyor fakat bir kontrol et istersen.
Arkadaşlar sayfaya menüyü ekledim. Fakat menünün alt menüleri yok ise li tagından class="dropdown-toggle" ve a tagından class="dropdown-toggle" data-toggle="dropdown" iptal olması lazım. Direk tıklandığında linke gitmesi lazım. Beynim durdu diyebilirim. Çıkamadım işin içinden.
function smarty_function_anaMenuBootstrap($params = 0)
{
global $db;
$anaMenu = $db->prepare("SELECT * FROM panel_menu_varsayilan AS pmv INNER JOIN panel_menu_menuler AS pmm ON pmv.ana_menu_1 = pmm.isim_kod WHERE pmm.ust_menu_id=? ORDER BY pmm.link_sira ASC ");
$anaMenu->bind_param("i",$params);
$anaMenu->execute();
$anaMenuSon = $anaMenu->get_result();
$getir = false;
if ($anaMenuSon->num_rows > 0) {
$getir = '';
while ($menu = $anaMenuSon->fetch_object()) {
$getir .= '<li class="dropdown"><a class= "dropdown-toggle" data-toggle="dropdown" target="'.$menu->hedef.'" href="'.$menu->link.'">'.$menu->link_adi.'</a>';
$altMenuleriGetir = smarty_function_anaMenuBootstrap($menu->id);
if ($altMenuleriGetir != false && $altMenuleriGetir != "") {
$getir .= '<ul class="dropdown-menu">';
$getir .= $altMenuleriGetir;
$getir .= '</ul>';
}
$getir .= '</li>';
}
}
return $getir;
}