2016-06-22 6 views
0

Sagen wir, ich habe eine Vorlage default.ctp, gibt es trotzdem, dass ich diese Vorlage für mehrere Controller verwenden oder als Fallback-Vorlage festlegen kann, wenn eine Vorlage fehlt?Vorlage in CakePHP 3 wiederverwenden?

Beispiel: localhost/users/login/ ruft UsersController->login an, das versucht, login.ctp zu finden. Wenn login.ctp fehlt, kann ich stattdessen default.ctp verwenden?

Antwort

1

default.ctp ist eine Layout-Datei die in allen Fällen verwendet werden, es sei denn, Sie nicht durch speziell anweisen:

$this->viewBuilder()->layout(''); 

Während login.ctp in Ihrem Beispiel ist eine view Datei für die Login-Aktion. Sie sind also keine Alternativen, sondern Partner, die zusammen den endgültigen Output darstellen. Layout/Template wird immer vorhanden sein, unabhängig vom Vorhandensein der View-Datei. Wenn Sie die Ausgabe nicht mit einer Datei anzeigen möchten. Schreiben Sie einfach:

$this->render(false); 

oder

$this->autoRender = false; 

wo View-Datei nur dann aufgerufen wird, wenn Sie speziell Controller aufrufen :: render() -Methode.