Frage

Als ich einen neuen Controller erstellt habe, dh in diesem Fall Authenticate, Ich habe auch den Ordner und die Datei erstellt application/views/scripts/authentication/index.phtml

Kein Problem beim Schlagen der URL http://dev.local/authentication/ Aber wenn man eine Handlung anruft, dh dh angerufen http://dev.local/authentication/login, Ich erhalte den Fehler unten.

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

Unabhängig von Änderungen werde ich bei der Anmeldemaktion nicht automatisch nach einer neuen Seite gefragt, oder? oder liege ich falsch?

War es hilfreich?

Lösung

Standardmäßig erfordert jede Aktion ihre entsprechende Ansicht (PHTML -Seite). Wenn Sie eine Ansicht/Layout für eine bestimmte Aktion deaktivieren möchten, können Sie den folgenden Code verwenden:

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

Bearbeiten Sie als Antwort auf den Kommentar:

Normalerweise muss ich dies nicht tun, denn die Aktionen, die ich habe, die kein Ansichtskript benötigen, werden zu anderen Aktionen umgeleitet/verzerrt. Sobald Ihr Benutzer beispielsweise authentifiziert ist (dh wenn /Authentifizierung /Login erfolgreich ist), können Sie ihn auf die Startseite umleiten (oder auf welche Seite er zugänglich war. In ähnlicher Weise habe ich einfach eine Fehlermeldung in eine Fehlermeldung festgelegt, wenn die Anmeldung fehlgeschlagen ist Die Ansicht und weiter an die Aktion, die das Anmeldeformular anzeigt.

Die einzigen Aktionen, für die ich den oben genannten Code verwende, sind für Aktionen, die normalerweise mit AJAX bezeichnet werden und die beispielsweise einen JSON -Code ausgeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top