1

私は yii フレームワークに取り組んでおり、さまざまなページのさまざまなレイアウトを作成しています。ログインページの「ログインレイアウト」を作成して、要件に従ってそのページを設計できるようにしました。レイアウト ファイル、つまり login.php に数行のコードを追加したところです。コードは次のとおりです。

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

現在、UsersController の Login アクションでこのレイアウトを使用しています。しかし、私はアクションのレイアウトを設定しています。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/loginます。http://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 に答える