ActiveField убрать input

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

ActiveField убрать input

Сообщение kukuruku »

Код: Выделить всё

$template = "{label}\n{input}\n{hint}\n{error}";
как вывести значение не в текстовое поле а простым текстом?
или только так?

Код: Выделить всё

<?= $model->property ?>
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: ActiveField убрать input

Сообщение zelenin »

а как еще? это что не решает проблему? или похоже на костыль?
astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

Re: ActiveField убрать input

Сообщение astronin »

я в ручную нафигачил, кажется нет в yii такого из коробки

Код: Выделить всё

<div class="form-group">
      <?= Html::activeLabel($user, 'email', ['class' => 'col-sm-4 control-label']) ?>
        <div class="col-sm-8">
            <?= Html::tag('p', $user->email, ['class' => 'form-control-static']) ?>
        </div>
    </div>
классы проставьте по схеме вашей формы
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: ActiveField убрать input

Сообщение kukuruku »

zelenin писал(а):а как еще? это что не решает проблему? или похоже на костыль?
немного да
как вариант readonly, но поле все равно будет отрисовываться
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: ActiveField убрать input

Сообщение zelenin »

kukuruku писал(а):
zelenin писал(а):а как еще? это что не решает проблему? или похоже на костыль?
немного да
как вариант readonly, но поле все равно будет отрисовываться
с чего это "немного да"? а как вы еще другим, более прямым способом выводите атрибуты модели во вьюшке?
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: ActiveField убрать input

Сообщение kukuruku »

метод $form->field помимо самих элементов выводит бутстрап верстку
если выводить ручками echo $model->getAttributeLabel('prop') + echo $model->prop придется еще верстку выводит
я подумал что в ActiveField должно быть штатное решение
Аватара пользователя
maleks
Сообщения: 1992
Зарегистрирован: 2012.12.26, 12:56

Re: ActiveField убрать input

Сообщение maleks »

А почему шаблон не изменить?

Код: Выделить всё

<?= $form->field($model, 'alias', 
        [
            'template' => "нужный шаблон без {input}",
        ])
        ->hint($hint)
        ->textInput() ?>
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: ActiveField убрать input

Сообщение zelenin »

kukuruku писал(а):метод $form->field помимо самих элементов выводит бутстрап верстку
если выводить ручками echo $model->getAttributeLabel('prop') + echo $model->prop придется еще верстку выводит
я подумал что в ActiveField должно быть штатное решение
это часть формы, а ваши хотелки к форме не относятся.
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: ActiveField убрать input

Сообщение kukuruku »

maleks писал(а):А почему шаблон не изменить?

Код: Выделить всё

<?= $form->field($model, 'alias', 
        [
            'template' => "нужный шаблон без {input}",
        ])
        ->hint($hint)
        ->textInput() ?>
я хочу вывести value но не в виде input, а виде label
тут же value вобще не выведется
unclead
Сообщения: 162
Зарегистрирован: 2015.03.13, 19:44

Re: ActiveField убрать input

Сообщение unclead »

в 2.0.5 для ActiveField bootstrap будет метод

Код: Выделить всё

/**
     * Renders Bootstrap static form control.
     * @param array $options the tag options in terms of name-value pairs. These will be rendered as
     * the attributes of the resulting tag. There are also a special options:
     *
     * - encode: boolean, whether value should be HTML-encoded or not.
     *
     * @return $this the field object itself
     * @since 2.0.5
     */
    public function staticControl($options = [])
    {
        $this->adjustLabelFor($options);
        $this->parts['{input}'] = Html::activeStaticControl($this->model, $this->attribute, $options);
        return $this;
    }
 
Ответить