каков наилучший способ визуализации CJuiDatePicker в качестве элемента формы с использованием CForm builder с массивом элементов?

#php #yii #yii-components

#php #yii #yii-компоненты

Вопрос:

У меня есть код CForm Builder в моем действии:

     $form = new CForm(
        'application.components.portlets.views._newClientForm', 
        $model
    );
  

и массив входных элементов:

 <?php
return array(
    'elements'=>array(
        'client_type'=>array(
            'type'=>'radiolist',
            'items'=>Client::getClientTypes()
        ),
        'mainPersonName1'=>array(
            'type'=>'text',
        ),
  

Как я могу отобразить CJuiDatePicker в моей форме?

Ответ №1:

В вашем файле просмотра:

 <?php
    $this->widget('zii.widgets.jui.CJuiDatePicker',array(
                                                   'name'=>'arbitraryName',
                                                   'model'=>$model,
                                                   'attribute'=>'nameOfFormAttribute',
                                                   'options'=>array(
                                                              'jqueryOption'=>'jqueryOptionValue',
                                                              ),
                                                   ),
    );
 ?>
  

Очевидно, что вы должны передать свой $model объект в представление, чтобы это сработало.

::UPDATE:: Используя только Cform, вы бы сделали это следующим образом: http://www.yiiframework.com/forum/index.php?/topic/7016-using-zii-cjuidatepicker-in-a-cform

Комментарии:

1. я создаю форму с CForm и без файла просмотра, файл просмотра содержит только <?php echo $form; ?> код

Ответ №2:

 'dob'=>array(
                       'type'=>'zii.widgets.jui.CJuiDatePicker',
                       'options'=>array(

                          'showAnim'=>'fold',
                          'dateFormat'=>'yy-mm-dd',
                      ),
            ),