Auslösen einer Aktion nach vorheriger Ja/Nein Abfrage
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 17.05.2010 - 09:21 Uhr in
Hallo Drupaler,
ich sitze jetzt schon eine lange Zeit an einer Aufgabenstellung die ich nicht in der Lage bin
zu lösen.
Unzähliges googlen und ausprobieren hat nichts geholfen, immer wieder passt etwas nicht und
ich bin jetzt leider auch kein Profi in Drupal.
Folgendes möchte ich realisieren:
Stellt euch ein CCK Formular vor indem ein Benutzer ein Status ändern kann.
Beim oder nach dem Speichern soll der Status des Feldes abgefragt werden und
je nachdem bestimmte Aktionen ausgelöst werden.
Die Abfrage krieg ich noch mit dem Modul Rules hin, soweit so gut.
Ich würde dann aber gerne ein Ja/Nein Dialog einblenden(Formular mit zwei Submit Buttons), mit der Frage, ob eine
neue Aktion durchgeführt werden soll und beim Klicken von Ja soll auch noch eine Mail,
die am besten als content oder node abgespeichert ist (zur Wiederverwendung), versendet werden.
Jetzt hackt es bei mir beim erstellen des Dialogs und der Mail und derer Versendung.
Könnt Ihr mir etwas unter die Arme greifen und Hilfestellung leisten.
Ich weis sonst nicht weiter. Ich hoffe, dass meine Anforderungen mit Modulen und Core Funktionen
zu lösen sind, denn eigene Module habe ich noch nicht geschrieben und würde dafür doch wohl länger brauchen.
Oder jemand von euch hat einen ganz anderen Ansatz, der interessant wäre. Bin für alles offen.
Brauche halt nur dringend Hilfe, da ich an dieser Stelle einfach nicht weiterkomme.
Vielen Dank im Voraus.
Beste Grüße
Miguelito
- Anmelden oder Registrieren um Kommentare zu schreiben
Moin Miguelito, im Grunde
am 17.05.2010 - 09:40 Uhr
Moin Miguelito,
im Grunde kannst Du das fast alles mit Rules lösen. Fast, denn der Ja/Nein Dialog wird schwierig. Da wüsste ich auf anhieb keine Rules-Lösung. Aber vielleicht tut's ja auch ein Workaround mit Conditional Fields? Dafür kenne ich allerdings deine Aufgabenstellung nicht genau genug, um Dir da großartig weiterhelfen zu können. Die Grundidee wäre folgende: Wenn CCK Feld X Wert Y enthält, dann mit Conditional Fields, weitere Felder einbinden.Statt Schaltflächen vielleicht Radiobuttons mit Ja und Nein-Beschriftung verwenden. Diese über Rules auswerten und die gewünschten Aktionen durchführen.
Beste Grüße,
Niko
Ja/Nein
am 17.05.2010 - 10:24 Uhr
Hey Niko,
das ging aber schnell. Besten Dank erstmal für Deine Ideen.
Wie Du siehst ist mein größtes Problem dieser Ja/Nein Dialog.
Verstehe echt nicht wieso man so einen Dialog nicht von Haus aus mit CCK
oder Drupalcore hinbekommt.
Es gibt zwar die confirm_form, aber da habe ich auch keine Ahnung wie ich damit
das umsetzen könnte.
Ich habe versucht den Dialog als Modul zu implementieren, und diesen auch nach ändern
des Feldes angezeigt bekommen. Komme dann aber widerrum nicht mehr weiter mit Rules,
da ich irgendwie keine passende Bedingung in Rules dafür finde. Mit "Buttonis" klappt es irgendwie nicht.
Hättest Du da eine Idee?
Ferner bleibt dann noch das Problem mit der Email. Es gibt zwar bei Rules die Möglichkeit per Aktion/Bedingung
eine Email zu versenden, wo ich dann den Inhalt eintrage. Ich möchte aber das die Email aus der DB kommt.
Man, alles nicht so einfach. Finde Drupal echt ziemlich geil, wenn man aber etwas anderes als das übliche braucht,
stößt man doch schnell an die Grenzen , wie ich finde.
Drupal ist wesentlich
am 17.05.2010 - 10:34 Uhr
Drupal ist wesentlich flexibler als andere CMS - gerade wenn man mal was anderes als das "Übliche" braucht.
Am einfachsten löst Du das Problem tatsächlich mit einem eigenen Modul. Dort kannst Du dann mit dem hook_nodeapi abfragen, ob sich Feld XY geändert hat und entsprechende Aktionen durchführen. Hilft Dir aber wahrscheinlich nicht weiter... eine andereLösung fällt mir leider auch nicht ein.
Kurz zu den Mails: Du kannst mit Rules einen Beitrag (Node) laden und den Inhalt in eine Mail übergeben. Da brauchst Du definitiv keine Programmierkenntnisse.
Beste Grüße,
Niko
Du bist echt flink mit Deinen
am 17.05.2010 - 10:45 Uhr
Du bist echt flink mit Deinen Antworten.
Ich werde versuchen die Mails mit einem eigenen Contenttype als Nodes zu speichern und dann mit Rules auszulesen und zu übergeben.
Hast Du denn keine Idee wie ich das Ja/Nein Formular mit Rules abfragen könnte.
Was müsste ich in meinem Modul implementieren damit ich irgendein Trigger/Action mit Rules abfangen kann?
Programmierkenntnisse sind ja vorhanden, nur leider nicht die Kenntnis der API.
Danke nochmals für Deine Mühe.
Schau Dir mal hook_nodeapi
am 17.05.2010 - 11:42 Uhr
Schau Dir mal hook_nodeapi an. Dort gibts eine operation für insert und update, die Du abfangen kannst. Gleichzeitig wird das Node-Objekt übergeben. Dort solltest Du Deine Felder auswerten können.
Beste Grüße,
Niko
Ich werde es versuchen. Danke
am 17.05.2010 - 12:36 Uhr
Ich werde es versuchen.
Danke für Deine Hilfe.