Yii框架:showdialogbox(CJuiDialog)

时间:2012-05-27 16:36:36

标签: php widget yii

我想打开一个对话框,但它应该像我菜单的一部分。我有一个像这样的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;'));

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

1 个答案:

答案 0 :(得分:4)

您应该使用linkOptionsitemOptions来实现此目的:

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

Link to api docs