zhuravljov / yii2-datetime-widgets

Datetime widgets for Yii2
BSD 3-Clause "New" or "Revised" License
21 stars 5 forks source link

How add input group? #1

Closed githubjeka closed 10 years ago

githubjeka commented 10 years ago
<div class="input-group">
        <?=
        $form->field($model, 'dateStart')->widget(DatePicker::className(), [
            'options' => ['class' => 'form-control', 'readonly' => 'readonly'],
            'clientOptions' => [
                'format' => 'dd.mm.yyyy',
                'language' => 'ru',
                'autoclose' => true,
                'todayHighlight' => true,
            ],
        ]) ?>
        <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span>
    </div>

demo1 demo2 click Component radio

zhuravljov commented 10 years ago

Можно через стандартный метод \yii\widgets\ActiveField::render().

Код должен получиться такой:

<?= $form->field($operationForm, 'actual_time')->render(function($field) {
    /** @var \yii\widgets\ActiveField $field */
    $field->parts['{input}'] = DateTimePicker::widget([
        'model' => $field->model,
        'attribute' => $field->attribute,
        'options' => ['class' => 'form-control','autocomplete' => 'off'],
        'clientOptions' => [
            'format' => 'dd.mm.yyyy hh:ii',
            'language' => 'ru',
            'autoclose' => true,
        ],
    ]);
    $field->parts['{input}'] .= ' <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span>';
    $field->parts['{input}'] = Html::tag('div', $field->parts['{input}'], ['class' => 'input-group']);
    $field->parts['{label}'] = Html::activeLabel($field->model, $field->attribute, $field->labelOptions);
    $field->parts['{error}'] = Html::error($field->model, $field->attribute, $field->errorOptions);
    $field->parts['{hint}'] = '';
    return strtr($field->template, $field->parts);
}) ?>

А вообще, стоит добавить такой вид виджета - как настраиваемую опцию.

githubjeka commented 10 years ago

Раз будут опции, тогда ещё очень нужен вид inline :D

zhuravljov commented 10 years ago

Да, есть смысл, спасибо за идею.

githubjeka commented 10 years ago

Взаимное спасибо.