Domanda

Quando Ive ha creato un nuovo controller, cioè in questo caso Authenticate, Ive ha anche creato la cartella e di file application/views/scripts/authentication/index.phtml

Non è un problema quando colpisce la http://dev.local/authentication/ url, ma quando si chiama qualsiasi azione cioè http://dev.local/authentication/login, ottengo l'errore qui sotto.

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

Indipendentemente da eventuali modifiche Im andando a fare l'azione di login sognerei automaticamente chiedere una nuova pagina giusta? o mi sbaglio?

È stato utile?

Soluzione

Per default, ogni azione richiede una vista corrispondente (pagina phtml). Se si desidera disattivare una vista / layout per una determinata azione, è possibile utilizzare il seguente codice:

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

Modifica in risposta al commento:

Io di solito non ho bisogno di fare questo, perché le azioni che ho che non hanno bisogno di uno script vista vengono reindirizzati / forwared ad altre azioni. Ad esempio, una volta che l'utente viene autenticato (cioè quando / autenticazione / login riesce), lo si può reindirizzare alla home page (o qualsiasi pagina che stava cercando di accesso. Allo stesso modo, se l'accesso non è riuscito, ho semplicemente impostare un messaggio di errore in la vista e in avanti per l'azione che mostra il form di login.

Le uniche azioni per cui uso il codice di cui sopra è per azioni che sono tipicamente chiamati utilizzando AJAX e che l'uscita del codice JSON, per esempio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top