Cmenu Dinamik Menu Oluşturma

Arkadaşlar Cmenu ile dynamic bir menu yazdım fakat takıldığım bi konu var.

DATABASE

database in gii ile modelini oluşturdum ve şu fonksiyonu yazdım

FONKSİYON

Cmenuye aktardım

CMENU

SONUÇ

Soru: Bu haliyle gayet güzel çalışıyo fakat ben sadece menu ve submenu ekleyebiliyorum. Submenulere de submenu eklemek istiyorum fakat beceremedim düzgün bişe yapmayı (örnek google menusunun altına analytics ve youtube diye iki tane daha yaana açılır sub menu eklemek istiyorum.)

Bi çözümünüz yolu tavsiye ederseniz çok sevicem.

Ek olarak superfish menu css ve java scriptlerini kullandım.

Merhaba,

Tabloda Bir subMenu (boolean) alanı koyarsan işin daha da kolaylaşabilir. subMenu’ise onmouseover işlemini gerçekleştirirsin…

ben normalde yii kullanmaya başlamadan önce bu şekilde bir php scripti ile sonsuz alt alta menu yazdırabiliyodum ama direkt mysql e bağlanıp php sini de kendim yazıyodum




function menu_goster($parent_id=0){

        global $web_path,$glb_dil;

        $i=1;   //ilk ul icin class ve id olusturma degiskeni

	$query=mysql_query("SELECT * FROM menus WHERE dil={$glb_dil} AND parent_id = " . $parent_id) or die (mysql_error());

	

	if (mysql_num_rows($query) > 0 ) {

            

	if ($i==1){

            echo '<ul class="sf-menu" id="example">';

        }

        else{

            echo '<ul>';    

        }

            $i=2;    

		while ($row = mysql_fetch_array($query)){

                    $link = '#';

                    $yenisayfa = '';

                    if(!empty($row['yeni_sayfa']))

                        $yenisayfa = ' target="_blank" ';

                    if(!empty($row['link'])) {

                        if(preg_match('/^http/',$row['link']))

                            $link = $row['link'];

                        else

                            $link = $web_path.$row['link'];

                    } else  if(!empty($row['konu_id'])) {

                        $link = $web_path.'konu.php?dl='.$row['dil'].'&no='.$row['konu_id'];                        

                    }

		echo '<li clas="current"><a href ="'.$link.'" '.$yenisayfa.'>'.$row['menu_name'].'</a>';

		menu_goster($row['id']);

		echo '</li>';

		}

		

	echo '</ul>';

	

	}

}

?>



gibi bikaç projede kullanmıştım. (recursive fonksiyon)

bu şekilde bi çözüm var mı?

Onmouse over dan neyi kastettiğinizi anlamadım Cmenunun öle bi parametresi mi var.

Daha önce benzeri bir çalışma yaptığın için aslında zorlanmaman gerek. Yapman gereken şeyler aynı. CMenu’yü incelediysen ve mantığını anladıysan daha önceki çalışma mantığın ile yola devam edebilirsin. onmouseover dan kastım submenu işlemini yapabilirsin demek istedim.

bknz mbmenu extension

Mbmenu ile dynamic menu yazdın mı hocam hiç?

sorunu çözdüm. recursive hale getirdim fonksiyonu.

takılan arkadaşlar olursa yardımcı olabilirim dynamic Cmenu ile ilgili.