Yii框架如何在每个页面上应该可见的标题中集成登录表单,

时间:2013-09-12 11:51:04

标签: yii

我有三个模块1)客户端2)生产者和搜索,我想在标题

中显示登录表单

登录表单是生产者,意味着生产者可以登录

主题\ mytheme的\视图\布局

<div id=weppr>
  <div class=fr header-right>
      <?php $form=$this->beginWidget(CActiveForm, array(
        id=>login-form,
        enableClientValidation=>true,
        clientOptions=>array(
        validateOnSubmit=>true,
        ),
)); 
    echo $form->textField($model,username,array(placeholder=>Enter Email,class=>login-input)); 
    echo $form->passwordField($model,password,array(placeholder=>Enter Password,class=>login-input)); 
    echo CHtml::submitButton(Login,array(class=>login-button));
    $this->endWidget(); 
    <div>
    <?php echo $content; ?>
    </div>

它给出错误,

是否可以放入main.php,是否可以接受编码,如果不是请该怎么做,以及如何整合应该在每个页面上显示不同模块的登录页面

1 个答案:

答案 0 :(得分:2)

我认为你应该尝试这样的事情:

LoginWidget.php

<?php  class LoginWidget extends CWidget {
public function run() {
    $model = new LoginFormModel;
    $form= $this->beginWidget('CActiveForm', array(
        'id'=>'login-form',
        'action'=>array('site/login'),
        'enableClientValidation'=>true,
        'clientOptions'=>array(
            'validateOnSubmit'=>true,
        )
    ));
    echo $form->textField($model,'username',array('placeholder'=>'Enter Email',class=>'login-input'));
    echo $form->passwordField($model,'password',array('placeholder'=>'Enter Password',class=>'login-input'));
    echo CHtml::submitButton('Login',array(class=>'login-button'));
    $this->endWidget();
} } ?>

在布局文件中:

<?php $this->widget('LoginWidget'); ?>

应该这样做!