Помогите с конфигурированием формы

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
leonidps
Сообщения: 268
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Помогите с конфигурированием формы

Сообщение leonidps »

Так делаю

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

         $form = new ActiveForm; 
        $form->id='ls-form';
        $form->method='get';
        $form->fieldConfig=['options'=>['class'=>'row'],'template'=>"{error}\n{label}\n{input}",'labelOptions'=>['class'=>'control-label col-sm-3',],'inputOptions'=>['class'=>'col-sm-3',],];
        $form->options=['class'=>'form-horizontal'];
        $form->begin(); 
результат

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

<form id="w0" action="/index.php?r=admin%2Fls%2Fupdate&id=1" method="post">
<input type="hidden" name="_csrf" value="YVFVeEJWRWJQYzo9BWYGFQs4BBEMNzAoPiQ5MnUBKwY0OhgCAQM2AQ=="><form id="w1" action="/index.php?r=admin%2Fls%2Fupdate&id=1" method="post">
<input type="hidden" name="_csrf" value="YVFVeEJWRWJQYzo9BWYGFQs4BBEMNzAoPiQ5MnUBKwY0OhgCAQM2AQ==">
Теперь немного по-другому

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

        $form = new ActiveForm; 
        $form->fieldConfig=['options'=>['class'=>'row'],'template'=>"{error}\n{label}\n{input}",'labelOptions'=>['class'=>'control-label col-sm-3',],'inputOptions'=>['class'=>'col-sm-3',],];
        $form->options=['class'=>'form-horizontal'];
        $form->begin(['id'=>'ls-form','method'=>'get']); 
Результат тоже немного другой

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

<form id="w0" action="/index.php?r=admin%2Fls%2Fupdate&id=1" method="post">
<input type="hidden" name="_csrf" value="Ty5sRl9UZ1B.HAMDGGQkJyVHPS8RNRIaEFsADGgDCTQaRSE8HAEUMw=="><form id="ls-form" action="/index.php" method="get">
<input type="hidden" name="r" value="admin/ls/update">
<input type="hidden" name="id" value="1"> 
Или я что не так делаю или не понимаю чего, но имхо сработало только  $form->fieldConfig
Правила существуют не только для того, чтобы их нарушать.
dmeroff
Сообщения: 101
Зарегистрирован: 2012.06.05, 14:32
Откуда: Петрозаводск
Контактная информация:

Re: Помогите с конфигурированием формы

Сообщение dmeroff »

По-моему вы готовите форму неправильно. Метод begin статический и должен вызываться статически с передачей ему конфига формы:

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

$form = ActiveForm::begin([
    'id' => 'ls-form',
    'method' => 'get',
    'fieldConfig' => ['options'=>['class'=>'row'],'template'=>"{error}\n{label}\n{input}",'labelOptions'=>['class'=>'control-label col-sm-3',],'inputOptions'=>['class'=>'col-sm-3',],],
    'options' => ['class' => 'form-horizontal'],
]);
Аватара пользователя
leonidps
Сообщения: 268
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Re: Помогите с конфигурированием формы

Сообщение leonidps »

По-моему вы готовите форму неправильно. Метод begin статический и должен вызываться статически с передачей ему конфига формы:
Действительно, метод статический. :? Отложено до понедельника :(
Правила существуют не только для того, чтобы их нарушать.
Аватара пользователя
leonidps
Сообщения: 268
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Re: Помогите с конфигурированием формы

Сообщение leonidps »

Исправляюсь

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

    $form = ActiveForm::begin([
        'id' => 'ls-form',
        'method' => 'get',
        'fieldConfig' => $optionsText,
        'options' => ['class' => 'form-horizontal'],
    ]); 
результат ожидаемый.

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

<form id="ls-form" class="form-horizontal" action="/index.php" method="get">
<input type="hidden" name="r" value="admin/ls/update">
<input type="hidden" name="id" value="1">
Однако
Стоит ли беспокоиться по таким моментам?
-пропала строка

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

<input type="hidden" name="_csrf" value="WGpmMWY3U21pWAl0IQcQGjIDN1goViYnBx8Ke1FgPQkNAStLJWIgDg=="> 
-и нарисовались две новых строки

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

<input type="hidden" name="r" value="admin/ls/update">
<input type="hidden" name="id" value="1"> 
Правила существуют не только для того, чтобы их нарушать.
Ответить