Yii (CJuiDatePicker)
//реализация проста до банальности
//_form.php
для красивого вывода нужно сделать валидацию
//
//
//_form.php
<div class="row"> <?php echo $form->labelEx($model, 'e_date_start'); ?> <?php $this->widget('zii.widgets.jui.CJuiDatePicker', array( 'name' => 'e_date_start', 'model' => $model, 'attribute' => 'e_date_start', 'language' => 'ru', 'options' => array( 'showAnim' => 'fold', ), 'htmlOptions' => array( 'style' => 'height:20px;' ), )); ?> <?php echo $form->error($model, 'e_date_start'); ?> </div>//реализует добавление в базу. формат ввода 'd.m.Y'
для красивого вывода нужно сделать валидацию
//
protected function afterFind() { foreach ($this->metadata->tableSchema->columns as $columnName => $column) { if ($column->dbType === 'date' || $column->dbType === 'timestamp' && $this->$columnName != '0000-00-00 00:00:00' && $this->$columnName != null) $this->$columnName = date('d.m.Y H:i:s', strtotime($this->$columnName)); } parent::afterFind(); }//смотрим тип поля и не пустое ли оно
//
protected function beforeSave() { if (parent::beforeSave()) { foreach ($this->metadata->tableSchema->columns as $columnName => $column) { if ($column->dbType === 'date' || $column->dbType === 'timestamp') $this->$columnName = date('Y-m-d H:i:s', strtotime($this->$columnName)); } return true; } else { return false; } }// перед сохранением меняем на вид понятный для базы
Комментарии
Отправить комментарий