1

我正在研究 yii 框架,只是为不同的页面制作不同的布局。我为登录页面创建了一个“登录布局”,以便我可以根据我的要求设计该页面。我刚刚在布局文件上添加了几行代码,即 login.php,代码在这里:

<?php 
/* @var $this Controller */
    $this->beginContent('//layouts/login');
        echo $content;
     $this->endContent();
?>

现在,我在 UsersController 的登录操作中使用此布局。但是当我设置动作的布局时。Yii 抛出了我在下面给出的这种类型的错误:

致命错误:第 33 行 /home/teamreal/public_html/yii/framework/web/widgets/COutputProcessor.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 40961 字节)

我不知道为什么会一次又一次地显示此错误,因为我已经编写了正确的操作函数代码,如下所示:

public function actionLogin() {
        $this->layout = 'login';
        $model = new LoginForm('login');

        // if it is ajax validation request
        if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
            echo CActiveForm::validate($model);
            Yii::app()->end();
        }

        // collect user input data
        if (isset($_POST['LoginForm'])) {
            $model->attributes = $_POST['LoginForm'];
            // validate user input and redirect to the previous page if valid
            if ($model->validate() && $model->login())
                $this->redirect(Yii::app()->user->returnUrl);
        }
        // display the login form
        $this->render('login', array('model' => $model));
    }

所以,请帮我解决这个问题。

4

1 回答 1

1

layout/login你一遍又一遍地装饰着layout/loginhttp://www.yiiframework.com/doc/api/1.1/CBaseController#beginContent-detail

你不想要主要布局views/layouts/login

<?php 
  /* @var $this Controller */

  $this->beginContent('//layouts/main');
  echo $content;
  $this->endContent();
?>
于 2013-06-25T16:17:47.520 回答