[erledigt] "Bestätigung" von node_save abfangen? jQuery/Ajax
am 05.05.2011 - 08:45 Uhr in
Hallo Freunde,
wenn man einen Node speichert wird ja die Function node_save aufgerufen. Nach dem Speichern erfolgt normalerweise ein Redirect auf den fertigen Node.
Den Redirect habe ich über $form['#redirect'] = FALSE; deaktiviert.
Mein Node-Add-Form (Typ: Bewertung) befindet sich in einem View - der View zeigt schon vorhandene Bewertungen an und der View befindet sich (als Block) im Footer vom User-Profil. Ich möchte nun mit jQuery/ajax erreichen, dass, nach dem Speichern des Nodes, nur der View neu geladen wird, ohne, dass das gesamte User-Profil neu geladen werden muss.
Das Problem hierbei ist momentan, dass ich nicht weiß wie man die "Bestätigung" nach "node_save" (das Speichern des Nodes dauert ja einige Millisekunden) abfangen kann. Denn wenn ich Ajax gleich nach dem Klick auf "Speichern" auslöse, kann es doch passieren, dass der View neu geladen wird obwohl node_save noch nicht fertig mit dem abspeichern in der DB ist (oder sehe ich das falsch?). Wenn das Speichern des Nodes 100 Millisekunden dauert, der View-Reload aber schon nach 50 Millisekunden ausgelöst wird, werden die gespeicherten Daten des Nodes doch nicht angezeigt oder? Daher muss man jQuery doch "beibringen" auf eine "Bestätigung" zu warten sodass der Reload/Refresh des Views erst nach dem erfolgreichen node_save erfolgt.
Nur wie kann man das machen? Liefert node_save nach dem erfolgreichen Speichern überhaupt eine "Bestätigung" aus die man abfangen kann?
Ich hoffe ich konnte das problem halbwegs verständlich rüber bringen.
Über Denkanstöße würde ich mich freuen - wenn ich mich auf dem Holzweg befinde bitte auch. ;-)
Schöne Grüße
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
Das Problem hat sich erstmal
am 05.05.2011 - 12:03 Uhr
Das Problem hat sich erstmal erledigt denn es gibt das Modul http://drupal.org/project/ajax_views_refresh - damit kann ich das Gewünschte (fast) umsetzen. Den Rest muss ich mir zusammen lesen.
Drupal rockt!!!