Rate Modul um einen "submit" Button erweitern

am 14.05.2012 - 20:18 Uhr in
Hallo liebe Community,
ich benutze das Rate Modul in Version 7.x-1.3 mit fivestars widgets um eine Bewertung für versch. Inhaltstypen und Bewertungskategorien zur Verfügung zu realisieren.
Allerdings habe ich nicht nur eine Bewertungskategorie sondern mehrere. Jetzt möchte ich irgendwie, das die Ratings Widgets nur dann gespeichert werden, wenn jede Kategorie bewertet wurde.
Im Moment ist es ja so, dass wen ein User ein voting auf eine Kategorie abgibt, diese sofort gespeichert wird. Hier fehlt mir irgendetwas, wie ein Submit Button, damit alle Kategorien bewertet werden müssen, und dann gespeichert werden.
Ich hoffe ich konnte mein Problem einigermaßen klar darstellen, wenn nicht bitte ruhig Rückfragen stellen.
Für euere Hilfe bin sehr dankbar
lg dennis605
- Anmelden oder Registrieren um Kommentare zu schreiben
Mit JavaScript kontrollieren,
am 16.05.2012 - 20:44 Uhr
ob alle Wertungen schon abgegeben sind. Das wäre meine erste Idee. Am besten mal bei jQuery umschauen, das bringt Drupal schon mit.
Hallo Frank, danke für diese
am 21.05.2012 - 01:23 Uhr
Hallo Frank, danke für diese Antwort.
Das Problem ist allerdings, dass ich gar nicht weiß wo ich anfangen soll.
Rate bringt zwar ein Jquery Event 'eventBeforeRate' mit. Allerdings kann ich nur AUF das event reagieren, aber in kleinster Weise den Ablauf beeinflussen.
Vielleicht gehe ich auch ganz falsch an die Sache ran. Es muss ja, wie im Titel beschrieben auch kein Submit Button sein, wenn jemand eine andere Idee hätte.
Vielen Dank
Dennis605
Wenn Du den README-File und
am 21.05.2012 - 10:37 Uhr
Wenn Du den README-File und den rate.js File genauer betrachtet hättest, hättest Du gefunden, das es auch "eventBeforeRate" gibt. Da kannst Du Dich mit einer JavaScript/jQuery Funktion einklinken und dafür sorgen, das die Votes vollständig sind. Setzt allerdings entsprechende Kenntnisse in der Programmierung von JavaScript/jQuery voraus.
Beste Grüße
Werner
Hallo Werner, danke für
am 21.05.2012 - 14:22 Uhr
Hallo Werner, danke für deinen Beitrag.
Ich habe ja aber in meinem 2. Post geschrieben, dass ich bereits auf das Jquery Event 'eventBeforeRate' aufmerksam geworden bin. Jedoch kann ich, nach meiner Einschätzung, und nach meinen versuchen, nur auf das Event reagieren, aber nicht den Ablauf unterbrechen bzw. beinflussen, oder ist meine Meinung falsch. Wenn sie falsch sein sollte, könntest du mir erklären, wie ich vorgehen soll. Nicht den ganzen Code, nur eine kleine Hilfestellung.
Vielen dank schon mal für eure Unterstützung.
Dennis605
Ja, da habe ich mich vertan,
am 21.05.2012 - 14:49 Uhr
Ja, da habe ich mich vertan, der Trigger stopt nicht den Ablauf. Also mußt Du die rate.js umbauen. Nach der Stelle eventBeforRate einen unendlich langen Sleep-Timer aufsetzen und den Rest der Ausführung danach ansetzen. Die Routine, die auf eventBeforRate reagiert, wertet die WidgetIDs aus und wenn alle gesetzt sind, terminiert sie den Sleep-Timer, damit alle Ratings gesendet werden. So würde ich es versuchen. Stichworte: setTimeout() und clearTimeout().
Beste Grüße
Werner
Hallo Werner, danke noch
am 24.05.2012 - 00:19 Uhr
Hallo Werner, danke noch einmal für Deine Unterstützung. Tut mir leid, dass ich erst jetzt zurückschreibe, aber Drupal ist leider nur ein Hobby von mir. Ich werde die Tipps, die du mir gegeben hast versuchen umzusetzen. Und melde mich dann wieder zurück. Sollte es noch eine andere Möglichkeit geben, wäre ich weiterhin für Hinweise sehr dankbar. Bis dahin.
lg dennis605