Как добавить значок календаря в текстовое поле фильтра GridView :: widget? - PullRequest
0 голосов
/ 17 октября 2019

Я хотел бы добавить значок календаря в текстовое поле фильтра GridView :: widget, как указано на рисунке ниже. Я пробовал слишком много способов, но работает также. Пожалуйста, мой код страницы просмотра также.

enter image description here

Пожалуйста, смотрите изображение выше, и я хочу сделать текстовое поле фильтра «Дата запуска», как обведено вобраз. Пожалуйста, помогите мне решить эту проблему.

Пожалуйста, смотрите мой код страницы просмотра для того же.

<?php Pjax::begin(); ?>    
                <?= GridView::widget([
                        'dataProvider' => $dataProvider,
                        'filterModel' => $searchModel,
                        'columns' => [
                            [
                                'attribute' => 'entity_id',
                                'value' => function($model) {
                                    return $model->entity->title;
                                },
                            ],
                            'leave_title',
                            [
                                'attribute' => 'leave_configuration_id',
                                'value' => function($model) {
                                    return $model->leaveConfiguration->title;
                                },
                            ],
                            [
                                'attribute' => 'emp_type',
                                'filter' => \app\models\SbhrmEmployee::typeOptions(),
                                'value' => function($model) {
                                    return $model->getEmployeeType();
                                },
                            ],
                            [
                                'attribute' => 'launch_date',
                                //'template' => "{label}{input}<span class='glyphicon glyphicon-calendar form-control-feedback'></span>",
                                'value' => function($model) {
                                    return date('d M, Y',strtotime($model->launch_date));
                                },
                                'filter' => DatePicker::widget([
                                    'model' => $searchModel,
                                    'attribute' => 'launch_date',
                                    'options' => [
                                        'autocomplete' => 'off',
                                        'class' => 'form-control',
                                        'template' => "{label}{input}<span class='glyphicon glyphicon-calendar form-control-feedback'></span>"
                                    ],
                                    //'template' => "{label}{input}<span class='glyphicon glyphicon-calendar form-control-feedback'></span>",
                                    'clientOptions' => [
                                        'orientation' => 'bottom auto',
                                        "format" => "dd M, yyyy",
                                        "orientation" =>'bottom',
                                        "autoclose" => true, 
                                        "todayHighlight"=> true,
                                    ],
                                    'dateFormat' => 'php:d M, Y'
                                ]),
                            ],

                            ['class' => 'yii\grid\ActionColumn', 'header' => 'Actions'],
                        ],
                    ]); ?>
                <?php Pjax::end(); ?>

1 Ответ

0 голосов
/ 17 октября 2019

DateColumn: https://gist.github.com/uldisn/804f46a7a0f98a60c580d40526dfeae7

EaDtateRangePicker: https://gist.github.com/uldisn/ad1b6e234db2cb8df66072ccf8c4dd22

Сетка столбцов

        [
            'class' => ThDateColumn::class,
            'attribute' => 'doc_date',
        ],

Запрос на фильтрацию: https://github.com/d3yii2/d3system/blob/master/yii2/db/D3ActiveQuery.php

InПоиск:

$query->andFilterWhereDateRange('doc_date',$this->doc_date);
...