1

我想打开一个对话框,但它应该是我菜单的一部分。我有一个这样的CMenu:

<?php $this->widget('zii.widgets.CMenu',array(
            'items'=>array(
                                array('label'=>'Login', 'url'=>"#", 'onclick'=>'$("#mydialog").dialog("open"); return false;'),

                array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),
                                array('label'=>'Home', 'url'=>array('/site/index')),
                                array('label'=>'About Me', 'url'=>array('/site/index'), 
                                    'items'=>array(
                                             array('label'=>'CV', 'url'=>array('/site/cv')),
                                             array('label'=>'Contact', 'url'=>array('/site/contact')))),
                array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),



                                array('label'=>'Register', 'url'=>array('/tblUsers/create'))

            ),
        )); ?>

如您所见,我已经尝试以某种方式将其添加到我的菜单中,但我不知道自己在做什么。我可以像这样在外面打开它:

echo CHtml::link('open dialog', '#', array(
   'onclick'=>'$("#mydialog").dialog("open"); return false;'));

所以这就是我在上面的菜单中实际尝试实现的,但没有成功。

4

1 回答 1

4

你应该使用linkOptionsoritemOptions来达到这个目的:

<?php $this->widget('zii.widgets.CMenu',array(
  'items'=>array(
    array('label'=>'Login', 'url'=>"#", 'linkOptions' => array(
       'onclick'=>'$("#mydialog").dialog("open"); return false;'),
    )),
    /* other menu items */
  )
)); ?>

链接到 api 文档

于 2012-05-27T16:53:11.500 回答