CakePHP: Ajax Layout

Werden Links oder Formulare mittels des AJAX-Helpers erstellt, um die Daten ansynchron zu laden und in einem DIV-Bereich anzuzeigen, wird in diesem DIV ggf. das Default-Layout genutzt. So kommt es dann zum Effekt der “Seite in der Seite”. Um das zu vermeiden, muss das Layout bspw. in der Methode (Action) entsprechend gesetzt werden. Möglich ist ein eigenes AJAX-Layout zu entwerfen oder aber gar kein Layout zu nutzen:

function TuDingeUndZeigeSieDannImDivAn () {
   $this->layout = '';
   $ergebnis = $this->tuWas();
   $this->set('view',$ergebnis);
}

2 Gedanken zu “CakePHP: Ajax Layout

  1. Man kann auch einfach in dem Controller, wo AJAX verwendet wird, die RequestHandler Komponente laden. Die macht dann den ganzen rest. Wenn man eine Anwendung baut, in der sowieso viel AJAX verwendet wird, macht es sind die RequestHandler Komponente einfach in den AppController zu laden. Es ist nun nicht mehr nötig, jedesmal für die entsprechende Action ein Layout anzugeben. Es wird automatisch das default AJAX Layout verwendet, welches ohnehin leer ist.

Die Kommentarfunktion ist geschlossen.