2015-06-29 4 views
1

Мне нужно создать виджеты \ ActiveForm :: field() без тега формы в начале. Я посмотрел в источнике юй \ виджеты \ ActiveForm и обнаружил, что это не может быть предотвращен :(yii2 ActiveForm без начала тега формы

public function init() 
{ 
    if (!isset($this->options['id'])) { 
     $this->options['id'] = $this->getId(); 
    } 
    echo Html::beginForm($this->action, $this->method, $this->options); 
} 

Может быть, есть еще один способ решить эту проблему без расширения класса «ActiveForm»?

ответ

1

ActiveField в основном только обертка для YII \ хелперы \ Html :: активный ... методы, так что вы можете просто позвонить echo yii\helpers\Html::activeTextInput($model, $attribute, $options); без использования ActiveForm

+0

ТНХ, я пытался, но 'Html :: activeTextInput()' 'не поддерживает Htm l :: activeTextInput() -> widget() 'construction :( –

+1

что-то не так с этим подходом? у вас есть ошибка? – Tony

+0

, если вы хотите вызвать виджет, вы можете называть его напрямую с помощью 'echo YourWidget :: widget ($ config)' где '$ config' - это массив верификации виджета – Tony

Смежные вопросы