Empfehlungen: Erweiterte Suche

Kinder eines Elements über Ajax anlegen

JavaScript und AJAX

Kinder eines Elements über Ajax anlegen

Beitragvon Galdan » Di 15. Jul 2008, 08:10

Hallo zusammen,

hab mich jetzt schon länger mit CakePHP beschäftigt und auch schon einiges durch rumspielen selber rausgefunden.

Allerdings mit AJAX und dergleichen hab ich bisher noch nichts gemacht.

Folgende möchte ich nun tun:

Angenommen wir haben Lehrer und Schüler (1:n), wenn ich auf der Editseite der Lehrer bin, will ich einen Button haben "Schüler hinzufügen". Bei einem klick darauf soll ein neuer Layer auf der Seite aufgehen, hier erscheinen die Eingabefelder um einen Schüler diesem Lehrer hinzuzufügen (zuzüglich ein paar Attribute).

Wenn ich dann auf speichern drücke, wird der Datensatz in die DB gespeichert, der Layer soll sich schließen und die Tabelle soll sich AJAX konform "heimlich" aktualisieren.

Eigentlich denke ich, dass ich alles schön hinbekomme, AUSSER diesen Layer. Am besten wäre ein helper, an den ich einfach eine View übergebe die er darstellen soll.

Vielleicht gibts aber ja auch schon fertige HowTos.

Jedenfalls schonmal danke für eure Hilfe!

Gruß
Tom
Galdan
 
Beiträge: 13
Registriert: Di 24. Jun 2008, 08:47

Re: Kinder eines Elements über Ajax anlegen

Beitragvon Alex » Di 15. Jul 2008, 12:00

Hab bisher noch nichts mit den integrierten AJAX-Funktionen gemacht, aber wenn du Fragen zu JavaScript oder sonstigen AJAX-Fragen hast, kann ich dir sicher helfen...
Alex
 
Beiträge: 120
Registriert: Di 13. Mai 2008, 13:39
Wohnort: Bremen
CakePHP-Version: 1.x.x
OS: OSX / Win 7 / Debian

Re: Kinder eines Elements über Ajax anlegen

Beitragvon Galdan » Di 15. Jul 2008, 13:10

Ich glaub bei mir ist das Problem gar nicht Ajax.

Sondern eine View (bspw. AddSchueler.ctp) in einem neuen Layer "über" der Editpage des Layers aufzumachen.

Das hat ja in dem Sinne noch nichts mit AJAX zu tun.

schonmal danke!
Galdan
 
Beiträge: 13
Registriert: Di 24. Jun 2008, 08:47

Re: Kinder eines Elements über Ajax anlegen

Beitragvon Alex » Di 15. Jul 2008, 14:48

Stimmt. Im Prinzip musst du auf den Link zum View ja nur ne Lightbox oder so initialisieren. Dann wird das Ziel wohl in nem Layer geöffnet. Beim Absenden kannst du dann das Fenster schließen lassen und eine Funktion aufrufen lassen, welche deine Liste aktualisiert. Sag einfach nochmal bescheid, wenn du ein Lightbox-Skript ausgesucht hast ;)
Alex
 
Beiträge: 120
Registriert: Di 13. Mai 2008, 13:39
Wohnort: Bremen
CakePHP-Version: 1.x.x
OS: OSX / Win 7 / Debian

Re: Kinder eines Elements über Ajax anlegen

Beitragvon Galdan » Mi 16. Jul 2008, 09:39

Ich hab ehrlichgesagt nur dieses eine hier gefunden:
http://www.orangoo.com/labs/GreyBox/

Lightbox an sich ja nur für Bilder geeignet, oder?

Welche alternativen gäbe es noch?
Galdan
 
Beiträge: 13
Registriert: Di 24. Jun 2008, 08:47

Re: Kinder eines Elements über Ajax anlegen

Beitragvon euromark » Mi 16. Jul 2008, 16:57

highslide.. eines der besten, wie ich finde :)
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Kinder eines Elements über Ajax anlegen

Beitragvon Mathias » Do 17. Jul 2008, 14:58

Galdan hat geschrieben:Ich hab ehrlichgesagt nur dieses eine hier gefunden:
http://www.orangoo.com/labs/GreyBox/

Lightbox an sich ja nur für Bilder geeignet, oder?

Welche alternativen gäbe es noch?

http://jquery.com/demo/thickbox/
Benutzeravatar
Mathias
 
Beiträge: 225
Registriert: Mi 4. Jun 2008, 22:30
Wohnort: Berlin
CakePHP-Version: 1.3.x
OS: OS X 10.6.x

Re: Kinder eines Elements über Ajax anlegen

Beitragvon Galdan » Sa 19. Jul 2008, 18:27

Also die ThickBox würde mir schon sehr gut gefallen.

Wie würde hier eine CakePHP Integration aussehen?

Sprich ich würde hier am allerliebsten in einen Helper einen Sting (den Viewnamen) übergeben und schon wird der rest erledigt ;-)
Galdan
 
Beiträge: 13
Registriert: Di 24. Jun 2008, 08:47

Re: Kinder eines Elements über Ajax anlegen

Beitragvon Mathias » Sa 19. Jul 2008, 23:01

Galdan hat geschrieben:Also die ThickBox würde mir schon sehr gut gefallen.

Wie würde hier eine CakePHP Integration aussehen?

Sprich ich würde hier am allerliebsten in einen Helper einen Sting (den Viewnamen) übergeben und schon wird der rest erledigt ;-)

Ich weiß nicht wirklich worauf du hinaus willst, aber um die thickbox zu implementieren, musst du die JavaScript-Dateien ins /app/webroot/js kopieren und zum Beispiel in der default.ctp im header integrieren. Zusätzlich noch den JavaScript-Helper aktivieren und dann kannst du die thickbox eigentlich schon verwenden.
cheers
Benutzeravatar
Mathias
 
Beiträge: 225
Registriert: Mi 4. Jun 2008, 22:30
Wohnort: Berlin
CakePHP-Version: 1.3.x
OS: OS X 10.6.x

Re: Kinder eines Elements über Ajax anlegen

Beitragvon euromark » Sa 19. Jul 2008, 23:19

ja, dann mach dir n helper
mit den ganzen funktionen

function1($params){..} etc

dann kannste in deinem view mit

$thickbox->function1(array(param=>paramwert)) etc
sehr elegant deine sachen einbauen
und falls du das nur auf machnen seiten brauchst
definierst du die JS-includes im helper
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows


Zurück zu JavaScript und AJAX

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste