我刚刚开始使用Yii2框架
我想创建一个1到10的下拉列表和一个提交按钮
选择选项并单击按钮后,应转到下一页以显示我选择的数字。
在我的视图文件中:index.php
use yii\widgets\ActiveForm;
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'QTY')->dropDownList(range(1, 10)) ?>
<?= Html::submitButton('Buy', ['class' => 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>
然后,当我转到页面时,它给了我&#39;未定义变量:model&#39;在那里的下拉列表中。
我该怎么做才能使其正确无误?
Html和CHtml有什么不同?
感谢。
答案 0 :(得分:0)
这段代码是form.php而不是index.php。 因为我们可以看到,有活跃的形式。 您的模型未定义可能您写错了代码
这是控制器index.php的示例
#nav li a{
white-space: nowrap;
&#13;
Html和Chtml是一样的 在Yii1 = CHtml 在Yii2 = Html
答案 1 :(得分:0)
这是分页吗?如果是,请使用网格视图的默认功能。
这是 controller :
texture
这将转到 view :
$query = Post::find()->where(['status' => 1]);
$provider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 10,
],
'sort' => [
'defaultOrder' => [
'created_at' => SORT_DESC,
'title' => SORT_ASC,
]
],
]);
return $this->render('path_to_view',['dataProvider'=>$provider]);
答案 2 :(得分:0)
实际上你的模型没有加载,请查看下面的例子。
public function actionIndex($id = Null)
{
$data=array();
$data['model'] = !empty($id) ? \app\models\YourModel::findOne($id) : new \app\models\YourModel();
return $this->render('index', $data);
}