За последние 24 часа нас посетили 21564 программиста и 1029 роботов. Сейчас ищут 740 программистов ...

Как разместить название поля формы слева от поля на ActiveForm

Тема в разделе "Yii", создана пользователем shurik_shink, 6 сен 2016.

  1. shurik_shink

    shurik_shink Новичок

    С нами с:
    17 май 2015
    Сообщения:
    79
    Симпатии:
    0
    Что нужно подправить в следующем коде что бы название поля оказалось слева от поля

    Код (Text):
    1. <?= $form->field($model, 'desc')->textInput(["style"=>"width:300px;"])->label('Описание');?>
     
  2. bikerlex

    bikerlex Активный пользователь

    С нами с:
    2 дек 2014
    Сообщения:
    344
    Симпатии:
    40
    PHP:
    1. <?= $form->field($model, 'desc', [
    2.                 'template' => "{label}\n{input}",
    3.             ]))->textInput(["style"=>"width:300px;"])->label(false);?>
    И {error} в шаблон, если надо выводить ошибки валидации.

    P.S.: А лейблы по умолчанию задаются в методе attributeLabels() модели. Если конечно конкретно здесь не нужен уникальный.
     
    #2 bikerlex, 6 сен 2016
    Последнее редактирование: 6 сен 2016
  3. shurik_shink

    shurik_shink Новичок

    С нами с:
    17 май 2015
    Сообщения:
    79
    Симпатии:
    0
    Название поля не переместилось в лево от самого поля, а
    Код (PHP):
    1. ->label(false
    приводит к тому что название поля и вовсе исчезает с формы.
     
  4. bikerlex

    bikerlex Активный пользователь

    С нами с:
    2 дек 2014
    Сообщения:
    344
    Симпатии:
    40
    Моя невнимательность, почему-то мне показалось, что тебе надо лейбл сверху от инпута. Хотя по умолчанию так и есть. :rolleyes: Это решается стилями.
    PHP:
    1. $form = ActiveForm::begin([
    2.         'options' => [
    3.             'class' => 'form-inline'
    4.         ]
    5.     ]);
    Ну не пиши туда фолс - это я у себя скопировал и переписал частично под твой пример, оставь метод без аргумента, тогда будет лейбл по умолчанию. Или оставь как у тебя.
     
    #4 bikerlex, 6 сен 2016
    Последнее редактирование: 6 сен 2016
  5. shurik_shink

    shurik_shink Новичок

    С нами с:
    17 май 2015
    Сообщения:
    79
    Симпатии:
    0
    Спасибо, работает
    также вариант через стили, как для формы
    PHP:
    1. <?= $form->field($model, 'desc',[
    2. 'options' => ['class' => 'form-inline']])->textInput(["style"=>"width:300px;"])->label('Описание');?>