Sometimes you have CJuiDialog with different content but same buttons (or width, height). If you don't want to repeat yourself this is a great solution:
Create:
> extensions/dialog/start.php
In start.php write:
Yii::import('zii.widgets.jui.CJuiDialog');
class Start extends CJuiDialog
{
         
        public function init()
        { 
                
                $options=$this->options;
                
                $options['buttons']=array(
                     'Save'=>'js:function(){alert("alert one");}',      
                     'Cancel'=>'js:function(){alert("alrt two");}', 
                );
           
                $this->options=$options;
                parent::init();
         }
}         
Somewhere (in views) create:
$this->beginWidget('ext.dialog.start', array(
                             'id'=>'dialog',
                              'options'=>array(
                                           'title'=>'Title',
                                           'autoOpen'=>false,
                                           'modal'=>true,
                                           'width'=>320,
                                           'resizable'=>false,
                                           'height'=>'auto',
                                           )
                        ));                                     
                                                                        
  
 $this->renderPartial('view_file');
 
 $this->endWidget(); 
And that's it. You will have buttons Save and Cancel everytime.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.