質問

iveが新しいコントローラーを作成したとき、つまりこの場合は Authenticate, 、iveはフォルダーとファイルも作成しました application/views/scripts/authentication/index.phtml

URLを押すと問題ありません http://dev.local/authentication/ しかし、アクションを呼び出すときIE http://dev.local/authentication/login, 、以下でエラーが発生します。

Message: script 'authentication/login.phtml' not found in path (C:\Sites\application\views\scripts\)

ログインアクションに変更する変更に関係なく、新しいページを自動的に要求する必要はありませんか?それとも私は間違っていますか?

役に立ちましたか?

解決

デフォルトでは、各アクションには対応するビュー(PHTMLページ)が必要です。特定のアクションのビュー/レイアウトを無効にする場合は、次のコードを使用できます。

$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);

コメントに応じて編集します:

ビュースクリプトを必要としないアクションは、他のアクションにリダイレクト/放出されるため、私は通常これを行う必要はありません。たとえば、ユーザーが認証された場合(つまり、 /認証 /ログインが成功する場合)、ホームページ(またはアクセスしようとしていたページにリダイレクトできます。同様に、ログインが失敗した場合、エラーメッセージを設定するだけです。ログインフォームを表示するアクションを表示して転送します。

上記のコードを使用する唯一のアクションは、通常、AJAXを使用して呼ばれ、たとえばJSONコードを出力するアクションのためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top