Question

Quand Ive a créé un nouveau contrôleur, à savoir dans ce cas Authenticate, Ive a également créé le application/views/scripts/authentication/index.phtml du dossier et le fichier

Pas un problème en frappant la http://dev.local/authentication/ url mais lorsque vous appelez une action-à-dire http://dev.local/authentication/login, je reçois l'erreur ci-dessous.

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

Peu importe les changements Im allant faire à l'action de connexion, il demande automatiquement shouldnt un nouveau droit de la page? ou je me trompe?

Était-ce utile?

La solution

Par défaut, chaque action nécessite la vue correspondante (page phtml). Si vous souhaitez désactiver une vue / mise en page pour une action donnée, vous pouvez utiliser le code suivant:

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

EDIT en réponse au commentaire:

Je ne généralement pas besoin de le faire, parce que les actions que j'ai qui ne nécessitent pas un script de vue sont redirigés / forwared à d'autres actions. Par exemple, une fois que votre utilisateur est authentifié (lorsque / authentification / connexion réussit), vous pouvez le rediriger vers la page d'accueil (ou tout autre page qu'il tente d'accéder. De même, si la connexion échoue, j'ai simplement mis un message d'erreur la vue et transmettre à l'action qui montre le formulaire de connexion.

Les seules actions pour lesquelles j'utiliser le code ci-dessus est pour des actions qui sont généralement appelées en utilisant AJAX et que la sortie du code JSON, par exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top