Flag - Grund angeben || Auf add/content-type umleiten
am 21.06.2012 - 20:04 Uhr in
Hallo zusammen,
für ein aktuelles Projekt habe ich Flag im Einsatz, um Nutzern z.B. zu ermöglichen Profile zu melden. Das funktioniert soweit auch, mitunter in Zusammenarbeit mit Rules und Views. Naja, kennt man ja soweit.
Mein "Problem" nun ist, dass ich gerne hätte, dass Nutzer einen Grund für ihren "Flag" angeben sollen, ansonsten sucht man sich am Ende n Ast. Bisweilen habe ich dafür aber noch keine Lösung gefunden. Ich meine in früheren Versionen von Flag gab es das sogar mal, oder als weiteres Modul. Müsste ich nun lügen, war glaube ich zu 5.x-Zeiten.
Jedenfalls war meine Idee nun, das Flaggen an sich als Trigger zu nutzen, quasi via Rules. Sprich, der Nutzer flaggt den Inhalt, und wird automatisch auf einen Content-Type, z.B. "Meldung" weiter geleitet. Dort kann er dann einen Grund für den Flag angeben. Drei Probleme ergeben sich da für mich: Ermöglicht es mir Rules nach einem Flag den User auf die Erstellung eines Content-Type X umzuleiten. Gehe ich nun mal von aus, müsste ich aber mal testen.
Viel problematischer sehe ich allerdings an, die Node/das Profil/den Kommentar in Relation zur Meldung zu setzen. Man müsste ja im Grunde im erstellten Content(Type) speichern, von welcher URL der User kam, als er geflagged hat, bzw. müsste man den Flag generell mit der erstellten Meldung in Verbindung setzen. Da müsste man eventuell die URL in ein eventuell unsichtbares Feld übergeben, oder dergleichen.
Ferner müsste man sicherstellen, dass der User auch einen Grund angibt, also den Content erstellt, und diesen auch abschickt. Bricht er das z.B. ab, müsste man auch den Flag an sich zurück nehmen, und das wiederum dort wo er her gekommen ist. Alternativ den Flag erst gar nicht durchführen.
Irgendwie verdammt kompliziert. Hat das mal jemand in dieser oder ähnlicher Form umgesetzt? Irgendwelche Ideen?
Danke schon einmal für entsprechende Hilfe!
Mit besten Grüße,
Genesis
- Anmelden oder Registrieren um Kommentare zu schreiben
Zu diesem Thema gibt es schon
am 21.06.2012 - 20:21 Uhr
Zu diesem Thema gibt es schon einen recht ausführlichen Thread auf drupal.org - http://drupal.org/node/917576.
Hier geht es um die Erweiterung von Flags durch die Drupal interne Field-Logik. Herausgekommen dabei ist unter Anderem das Modul [do:flagging_form].
SteffenR
Hallo Steffen, vielen Dank
am 21.06.2012 - 20:42 Uhr
Hallo Steffen,
vielen Dank erst einmal für die Hilfe. Ich werde mir das morgen mal ganz in Ruhe ansehen. Aktuell bricht hier grad die Welt zusammen (=Unwetter).
Ich habe aktuell noch eine andere Alternative im Blick, die ich auch mal testen werde. Dabei erstelle ich einen eigenen Content Type, und übergebe mit dem Modul "Prepopulate" die URL an ein hidden field. Ich habs aber noch nicht zu ende getestet. Muss mal schauen wie das funktioniert mit der URL die URL selbst als Token zu übergeben. Dann würde ich mir eventuell den Umweg über Flag sparen und würde lieber eine "eigene" Lösung umsetzen.
Mal schauen, werde mir mal beides in Ruhe anschauen.
Vielen lieben Dank bis hierher!
Beste Grüße vom,
Genesis
Über Prepopulate und einem
am 21.06.2012 - 20:50 Uhr
Über Prepopulate und einem Node Reference Feld im zu erstellenden Node (Flag Kommentar) würde das Ganze natürlich auch funktionieren.
Vorteil wäre dann, dass du dir über einen View alle "Flag" Comments ausgeben kannst und entsprechend reagieren kannst. Hier hast du dann auch die Möglichkeit über Rules die Daten weiter auszuwerten oder anderweitig zu reagieren.
flag_form benötigt um korrekt zu funktionieren derzeit auch noch einen Patch für das flag Modul - dies macht das spätere Updaten auch wieder etwas fehleranfälliger.
SteffenR
Ich habe es nun tatsächlich
am 22.06.2012 - 14:46 Uhr
Ich habe es nun tatsächlich so gemacht, dass ich einen Inhaltstypen (Meldungen) erstellt habe. In diesem gibt es verschiedene Felder, welche via Field Permissions nur bestimmten Gruppen zugänglich sind. So kann der normale User lediglich einen Grund angeben. Moderatoren, oder ähnliche, können in ein weiteres Feld eintragen wie sie auf die Meldung reagiert haben, und via Select List können sie den Status auf bearbeitet setzen.
Via Prepopulate fülle ich ein CCK-Feld (Link) mit dem Link der Ausgangs-Node, bzw. des Profils, oder des Kommentars, welches wiederum einen statischen Titel hat, welcher sich dann in Views sauber auflisten lässt. Aus all dem erstelle ich dann via Views entsprechende Listen, und kann so quasi ein "Backend" für die Moderation der Seite anlegen. Vorteil ist auch, dass durch das einfache Ändern des Status, die Meldung nicht gelöscht wird, sondern in einem Archiv landet. So kann man sie stets auch später noch nachvollziehen.
Zu guter letzt leite ich den Nutzer nach dem Abschicken noch via Rules um, und gebe eine entsprechende Message zur Bestätigung aus. Gleichzeitig wird beim Erstellen der Node/Meldung via Rules eine Meldung via Mail verschickt, dass ein neuer Beitrag gemeldet wurde.
Das alles funktioniert eigentlich sehr gut, und hat für mich ganz persönlich etwaige Vorteile gegenüber Flags, wobei Flags trotzdem ein durchaus mächtiges Tool bleibt, was ich dem hier auch nicht absprechen will. Gerade wegen solcher Lösungen mag ich Drupal. Ich bin selbst kein (PHP)Coder, aber mit ein wenig Suchen und Lesen und Testen kann man trotzdem zu sehr guten Ergebnissen und Lösungen kommen. Man muss sich nur Zeit nehmen.
Jedenfalls danke ich an dieser Stelle noch mal für die Hilfe. :)