การใช้งาน Yii2 kartik DatePicker

Kartik datepicker

ติดตั้ง

php composer.phar require kartik-v/yii2-widget-datepicker "*"
or
"kartik-v/yii2-widget-datepicker": "*"

การใช้งาน ที่ view

use kartik\date\DatePicker;

<?= $form->field($model, 'start_date')->widget(DatePicker::ClassName(),
    [
    'name' => 'check_issue_date', 
    'options' => ['placeholder' => 'Select date ...'],
    'pluginOptions' => [
        'format' => 'dd/mm/yyyy',
        'todayHighlight' => true
    ]
]);?>

การทำ Filter บน CGridView

Yii – ComboBox en filtros del CGridView

?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'localidad-grid',
    'itemsCssClass' => 'table table-striped',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'id_estado'=>array(
            'name' => 'id_estado',
                'value' => '$data->idEstado->nombre',
                'filter'=> CHtml::listData(GeoEstado::model()->findAll(array('order'=>'nombre')), 'id', 'nombre')
            ),
        'id_municipio',
        'id_parroquia',
        /*'texto',*/
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

Update/delete model with CJuiDialog (works in CGridView) เก็บไว้ก่อน

Update/delete model with CJuiDialog (works in CGridView)

http://2.delmo.ru/index.php?r=wiki/view&id=320

gridview view in modal popup Yii เก็บไว้ก่อน

In view

$this->widget(‘bootstrap.widgets.TbExtendedGridView’, array(
‘type’=>’bordered’,
‘dataProvider’=>$model->search(),
‘filter’=>$model,
‘template’=>”{items}”,
‘columns’=>array(
‘id’,
‘firstName’,
‘lastName’,
‘language’,
‘hours’,
array(
‘header’=>’Options’,
‘class’=>’bootstrap.widgets.TbButtonColumn’,
‘buttons’=>array(
‘view’=>
array(
‘url’=>’Yii::app()->createUrl(“person/view”, array(“id”=>$data->id))’,
‘options’=>array(
‘ajax’=>array(
‘type’=>’POST’,
‘url’=>”js:$(this).attr(‘href’)”,
‘success’=>’function(data) { $(“#viewModal .modal-body p”).html(data); $(“#viewModal”).modal(); }’
),
),
),
),
)
)));
?>

<!– View Popup  –>
<?php $this->beginWidget(‘bootstrap.widgets.TbModal’, array(‘id’=>’viewModal’)); ?>
<!– Popup Header –>
<div class=”modal-header”>
<h4>View Employee Details</h4>
</div>
<!– Popup Content –>
<div class=”modal-body”>
<p>Employee Details</p>
</div>
<!– Popup Footer –>
<div class=”modal-footer”>

<!– close button –>
<?php $this->widget(‘bootstrap.widgets.TbButton’, array(
‘label’=>’Close’,
‘url’=>’#’,
‘htmlOptions’=>array(‘data-dismiss’=>’modal’),
)); ?>
<!– close button ends–>
</div>
<?php $this->endWidget(); ?>
<!– View Popup ends –>

And in Controller 


public function actionView($id)
{
if( Yii::app()->request->isAjaxRequest )
{
$this->renderPartial(‘view’,array(
‘model’=>$this->loadModel($id),
), false, true);
}
else
{
$this->render(‘view’,array(
‘model’=>$this->loadModel($id),
));
}
}

การใช้ CDbCriteria Between กับ NOT IN Between สไตล์ littleboy

Between By Date

$startDate = $_POST[‘startDate’];
$endDate = $_POST[‘endDate’];
$criteria = new CDbCriteria();
$criteria->addBetweenCondition(‘create_date’, $startDate, $endDate);

Not In Between By Date

$startDate = $_POST[‘startDate’];
$endDate = $_POST[‘endDate’];
$criteria = new CDbCriteria();
$criteria->addCondition(‘create_date < :startDate OR create_date > :endDate’);
$criteria->params = array(‘:startDate’ => $startDate, ‘:endDate’ => $endDate);