[gelöst] Rule zum Löschen unbestätigter Kommentare nach X Tagen
Eingetragen von marco.b (643)
am 30.03.2014 - 15:26 Uhr in
am 30.03.2014 - 15:26 Uhr in
Hallo Drupalgemeinde.
bin gerade auf die Idee gekommen, unbestätigte Kommentare durch Rules 4 Wochen nach der Kommentarerstellung löschen zu lassen. Leider kriege ich es gerade nicht hin. Die Funktion an sich finde ich ganz nützlich, vielleicht hat jemand von euch den Durchblick, was da mit meiner Rule nicht passt?!
{ "rules_delete_unapproved_comments_after_time" : {
"LABEL" : "Unbest\u00e4tigte Kommentare l\u00f6schen nach 4 Wochen",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules", "comment" ],
"ON" : { "comment_insert" : [], "cron" : [] },
"IF" : [
{ "entity_is_of_bundle" : {
"entity" : [ "comment" ],
"type" : "comment",
"bundle" : { "value" : { "comment_node_blog" : "comment_node_blog" } }
}
},
{ "data_is" : {
"data" : [ "site:current-date" ],
"op" : "\u003E",
"value" : { "select" : "comment:created", "date_offset" : { "value" : 2592000 } }
}
}
],
"DO" : [
{ "entity_query" : {
"USING" : { "type" : "comment", "property" : "cid", "value" : [ "comment:cid" ] },
"PROVIDE" : { "entity_fetched" : { "entity_fetched" : "Kommentar ID" } }
}
},
{ "entity_delete" : { "data" : [ "comment" ] } }
]
}
}
Beste Grüße
Marco
- Anmelden oder Registrieren um Kommentare zu schreiben
Wie hast du die Rule denn
am 22.05.2014 - 11:29 Uhr
Wie hast du die Rule denn aufgebaut? Du brauchst ja einen Auslöser, z.B. den Cron-Lauf. Als Kriterien müsstest du theoretisch nur das [created] >= 28days und comments=0 setzen, damit als Aktion "Lösche den Beitrag" ausgegeben wird.
Weiß nicht, ob das so funktioniert, wäre aber für mich eine logische Abfolge.
Gruß
Web: Halle im Bild | n8aktiv
Social: Facebook | Xing
Danke für deine Anregung, bin
am 09.06.2014 - 16:58 Uhr
Danke für deine Anregung, bin erst heut mal wieder dazu gekommen, da hinzugucken, es ist ja kein essentielles Feature. Mein Problem war, in Rules an die Auswahl der unveröffentlichten Kommentare zu kommen und nicht nur an die oder das Kommentar eines bestimmten nodes. Ich konnte das nun recht einfach lösen, indem ich die Liste unveröffentlichter Kommentare durch einen VBO view in die Rule geladen habe. Nun funktioniert es, und bei jedem cron werden die 4 ältesten unveröffentlichten, die älter als 28 TAge sind, gelöscht.
Das einzige, was mich dabei noch interessieren würde, wäre, wie ich mit einer Löschaktion alle löschen kann, denn ich habe hier 4 Aktionen Entität löschen
mit je einem Parameter entity-list:0
bzw. entity-list:1, entity-list:2, entity-list:3
Aber ich betrachte auf jeden Fall es als gelöst.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de