Forms 在布局内部渲染视图
我试图在main.php布局中使用表单。表单位于视图文件夹中,其中包含与我的新闻稿模型和控制器相关的视图 到目前为止,我已尝试创建以下小部件:**Forms 在布局内部渲染视图,forms,widget,yii2,render,Forms,Widget,Yii2,Render,我试图在main.php布局中使用表单。表单位于视图文件夹中,其中包含与我的新闻稿模型和控制器相关的视图 到目前为止,我已尝试创建以下小部件:** <?php namespace app\components; use app\models\Newsletter; use yii\base\Widget; use yii\helpers\Html; class NewsletterForm extends Widget { public function run() {
<?php
namespace app\components;
use app\models\Newsletter;
use yii\base\Widget;
use yii\helpers\Html;
class NewsletterForm extends Widget
{
public function run()
{
$model = new Newsletter;
return $this->render('_form', [
'model' => $model
]);
}
}
?>
如何在views\newsletter\\u form.php中呈现表单。
表单需要在main.php的页脚内呈现在与OP进行了广泛讨论后,我们认为小部件不适合他的用例。小部件旨在成为独立的代码片段,能够在不同情况下重复使用。他只想从现有的MVC组合中呈现一个视图文件 这就是我们决定的 使用的布局是main.php,我们编辑此布局是为了:
use app\models\Newsletter;
echo $this->render('@app/views/site/_index', 'model' => new Newsletter);
这样做的好处是保留了他使用的现有表单
然后他需要在表单中指定一个控制器/动作组合,如下所示
$form = ActiveForm::begin([
'action' => Url::to(['newsletter/create'])
]);
让我们。
$form = ActiveForm::begin([
'action' => Url::to(['newsletter/create'])
]);