В yii у меня был такой код, который качался ОК
$form=$this->beginWidget('CActiveForm', array(
'id'=>'ride-form',
'enableClientValidation'=>false,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
));
Теперь я пытаюсь использовать его в версии Yii 2. Но я получаю ошибку
Calling unknown method: yii\web\View::beginWidget()
Почему ? и какой класс мне следует дополнительно использовать для решения этой проблемы?
2
David
18 Дек 2014 в 16:02
2 ответа
Лучший ответ
Эта ошибка возникает из-за того, что класс yii\web\View
просто не имеет метода beginWidget()
.
Для работы с формами в Yii2 используйте виджет ActiveForm.
Замените свой код на:
use yii\widgets\ActiveForm;
$form = ActiveForm::begin([
'id' => 'ride-form',
'enableClientValidation'=>false,
'validateOnSubmit' => true, // this is redundant because it's true by default
]);
// ...
ActiveForm::end();
1
arogachev
18 Дек 2014 в 16:20
2 вещи, которые я бы проверил, если метод неизвестен.
1) включен ли класс до того, как вы его вызовете?
2) Вы создаете экземпляр класса и вызываете класс из этой переменной экземпляра?
include 'myClass.php';
$class = new myClassName();
$class->method();
0
Roger
18 Дек 2014 в 16:07
Похожие вопросы
Новые вопросы
class
Шаблон для создания новых объектов, который описывает общее состояние (я) и поведение (я). НЕ ЗАБИРАТЬСЯ С CSS-КЛАССАМИ. Используйте вместо этого [css].