PDA

View Full Version : نحوه ایجاد زیر منو در ویجت CMenu (حل شد)



SlowCode
شنبه 21 دی 1392, 01:15 صبح
سلام
من اینطوری نوشتم ولی کار نمیکنه!


<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/site/index'),array(
'items'=>array(
array('label'=>'1', 'url'=>array('#')),
array('label'=>"2", 'url'=>array('#')),
array('label'=>"3", 'url'=>array('#')),
),
),
),
array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>'Contact', 'url'=>array('/site/contact')),
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>

کدهایی مشابه این رو برای EMenu , MBMenu دیدم. حالا نمیدونم مشکل از CMenu هست یا من اشتباه نوشتم!

SlowCode
شنبه 21 دی 1392, 01:36 صبح
مشکل از من بود! تو خط سوم زیر منو یا همون items رو نباید داخل آرایه مینوشتم.
کد صحیح:


<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/site/index'),
'items'=>array(
array('label'=>'1', 'url'=>array('#')),
array('label'=>"2", 'url'=>array('#')),
array('label'=>"3", 'url'=>array('#')),
),
),
array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>'Contact', 'url'=>array('/site/contact')),
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>


فقط دو مورد دیگه برام مبهمه:
1- 'view'=>'about' چی هست؟ کاربردش چیه؟
2- وقتی با Cmenu یه منو ایجاد میکنیم به طور خودکار به تگ ul یه id داده میشه! سوال اینه که آیا میتونیم با پارامترها بهش class بدیم؟ یا اصلا میشه کاری کنیم خودش تگ ul رو درست نکنه؟

Emir New
شنبه 21 دی 1392, 21:08 عصر
سلام
دوست عزیز شما می تونی خیلی راحت به همه ایتم ها کلاس اختصاص بدی
این یه نمونه که براتون می ذارم


$this->widget( 'zii.widgets.CMenu', array(
'id'=>'menu',
'items' => array(
array(
'label' => 'صفحه اصلی',
'url' => array( '/site/index' ),
'itemOptions' => array( 'class' => 'mainitem' ),
'linkOptions' => array( 'class' => 'dropdown-toggle' ),
'active'=>false,
),
array(
'label' => 'محصولات',
'url' => '#',
'submenuOptions' => array( 'class' => 'sub-menu' ),
'items' => array(
array(
'label' => 'محصول 1',
'url' => array( '/user/create' ),
'itemOptions' => array( 'class' => 'submenu' ),
'active'=>false,
),
),
'itemOptions' => array( 'class' => 'mainitem' ),
'linkOptions' => array( 'class' => 'dropdown-toggle' ),
'active'=>false,
),

)));

و در مورد about اگر اشتباه نکنم میره از مسیر protected\views\site\pages فایل about را می خواند و نمایش می دهد