تصویر محمدعلی اکبری
ویجت تاریخ شمسی برای Yii

نصب:
http://www.yiiframework.com/extension/jdatetime/
http://www.yiiframework.com/extension/jalalidatepicker/
تغییرات:
jdatetime:
حذف تبدیل اعداد انگلیسی به فارسی در متد convertNumbers از کلاس JDateTime

 

private function convertNumbers($matches) {
    return $matches;
}


jalalidatepicker:
اضافه کردن تنظیمات به ویجت هنگام استفاده:

 

<?php echo $form->labelEx($model, 'date'); ?>
<?php
echo CHtml::activeTextField($model, 'date');
$this->widget('application.widgets.JalaliDatePicker.JalaliDatePicker', array(
    'model' => $model,
    'textField' => 'date',
    'options' => array(
        'changeMonth' => 'true',
        'changeYear' => 'true',
        'showButtonPanel' => 'true',
        'dateFormat' => 'yy/mm/dd',
    )
));
?>
<?php echo $form->error($model, 'date'); ?>


اضافه کردن متدهای لازم به کلاس مدل:

protected function beforeSave() {
    if (parent::beforeSave()) {
          $date = explode('/', $this->date);
          $date = Yii::app()->jdate->toGregorian($date[0], $date[1], $date[2]);
          $this->date = $date[0] . '-' . $date[1] . '-' . $date[2];
          return true;
    } else {
        return false;
    }
}

protected function afterFind() {
    $this->date = Yii::app()->jdate->date("Y/m/d", strtotime($this->date));
}

 لینک مفید: http://www.yiiframework.com/wiki/183/using-international-dates/

افزودن نظر جدید