Php yii2中每页页眉中的登录表单

Php yii2中每页页眉中的登录表单,php,yii,yii-components,yii2,Php,Yii,Yii Components,Yii2,如何使用Yii2在每个页面的标题导航中显示登录表单 我尝试使用: $form = ActiveForm::begin(..); $form->field(..); ActiveForm:end(); 但我必须为SiteController中的每个页面添加LoginForm模型 有更好的方法吗 谢谢。1-您必须将代码放入小部件中 2-在小部件视图中,您需要定义绝对操作路径, 像这样: <?php $form = $this->beginWidget('C

如何使用Yii2在每个页面的标题导航中显示登录表单

我尝试使用:

$form = ActiveForm::begin(..);
$form->field(..);
ActiveForm:end();
但我必须为SiteController中的每个页面添加LoginForm模型

有更好的方法吗


谢谢。

1-您必须将代码放入小部件中

2-在小部件视图中,您需要定义绝对操作路径, 像这样:

            <?php $form = $this->beginWidget('CActiveForm', array(
                'id' => 'contact-form',
                'action' => Yii::app()->createUrl('//index.php/site/contact'),
                'enableAjaxValidation' => true,
                'enableClientValidation' => false,
                'clientOptions' => array(
                    'validateOnSubmit' => true,
                ),
                'htmlOptions' => array('class' => 'form-horizontal', 'role' => 'form'),
            ));
            ?>
相关链接:

谢谢你的回答。看起来您的方法仅适用于yii 1。*,您知道如何在yii 2中实现同样的效果吗?Thx。无论如何,我必须在每个控制器中添加模型。例如,登录控制器就是这样做的:
$model=new LoginForm()。。。返回$this->render('login',['model'=>$model,])// In Yii 2
$form = ActiveForm::begin([
        'method' => 'get',
        'action' => Url::to(['//index.php/site/contact']),
]);

// In Yii 1.x
$form = $this->beginWidget('CActiveForm', [
        'method' => 'get',
        'action' => $this->createUrl('//index.php/site/contact'),
]);