1

さて、この部分は非常に重要です。私は YII とのプロジェクトに取り組んでいます。レイアウトを使用してコントローラーでアクションの1つを設定しようとしていたなどの問題に直面しました。まず第一に、このアクションは、別のアクションactionIndex()が同じコントローラーで正常に機能している、言及されているデフォルトのレイアウトをとっていません。次に$this->layout='//layouts/new'、コントローラーで試してみましたが、コントローラーへのビューレンダリングで試してみました。それも機能していません。$contentレイアウトに何かを返すかどうかを確認しましたnew.php。しかし、それは new.php にも来ていません。die()レイアウトの1行目に入れても動かない。これについて助けが必要です。

4

3 に答える 3

4
 public function actionTest() {
        $this->layout = 'new';
        $this->render('test');

    }

views/layouts フォルダーに新しいレイアウトを作成します。

于 2013-01-17T09:55:43.217 に答える
3

あなたのアクションは、ビューをレンダリングする必要がある場所にさえ到達していないように思えます。アクション コードに何らかのエラーがあり、最後まで進行できない可能性があります。テストのために、アクション内の以下以外のすべてのコードを消去し、エラーをここに投稿してください。

$this->layout = '//layouts/new';
$this->render('view',array(
    'model'=>$model,
));

これは、次のレイアウトとビューが定義されていることを前提としています。

protected/views/layouts/new.php
protected/views/<controllername>/view.php

new.php は $content をエコーする場所で、view.php は $model 情報を表示する場所です。

于 2013-01-17T20:14:32.020 に答える