Zendスクリプトは正しく設定されていません
-
22-09-2019 - |
質問
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コードを出力するアクションのためです。
所属していません StackOverflow