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;
}
}
// перед сохранением меняем на вид понятный для базы
Комментарии
Отправить комментарий