Sep 03
Damit das Default-Layout bei einem AJAX-basierten Aufruf nicht automatisch eingebunden wird, reicht es auch, die ‘RequestHandler’ Komponente des Frameworks dem Controller (bspw. auch dem PagesController) hinzuzufügen:
var $components = array('RequestHandler');
Tagged mit: ajax • cakephp • layout • requesthandler
Sep 03
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);
}
Tagged mit: ajax • cakephp • layout
Jul 04
Das YAML-Framework ermöglicht browserübergreifendes CSS Layout. Die entsprechenden IE Einschränkungen werden, wie so üblich, mit Kommentaren und Bedingungen realisiert. Zu beachten ist, dass die HTML-Kommentare der korrekten HTML-Konvention entsprechen, da sonst Fehler auftreten, wie z.B.
- Anzeige von <!–[endif]–> im Browserfenster (geringeres Problem)
- Javascript-Fehler bei CakePHP in Verbindung mit den AJAX-Helpern, Scriptaculous und Protoype. (größeres Problem)
Also immer schön an die Webstandards halten
Tagged mit: ajax • cakephp • ie-kommentar • javascript
Apr 20
Ein eigenes animiertes “wird geladen” Bild kann man einfach unter http://www.ajaxload.info/ generieren lassen. Und der Vorteil: Die generierten Bilder unterliegen keiner Lizenz und sind somit Free For Use.
Tagged mit: ajax • loading gif
Apr 18
Nutzt man die AJAX-Komponente des CakePHP-Frameworks, dann wird man unweigerlich (vermutlich) auch einmal in den Genuß kommen wollen, den inplaceeditor auszuprobieren:
echo $ajax->editor('DOM_id',$action,$options);
wobei $actions und $options jeweils ein Array mit den entsprechenden Schlüssel/Wert-Paaren sind.
Im $actions-Array wird auch die Methode des Controllers festgelegt, die bei per ansychronem Aufruf ausgeführt werden soll. In dem Controller, stehen dann die veränderten Werte in dem “params”-Array zur Verfügung:
$this->params['forms']['value'] # enthält den veränderten Wert des AJAX inplaceeditors
Tagged mit: ajax • cakephp • inplaceeditor
Letzte Kommentare