[gelöst] Referenzierte Node über Rules löschen.
Eingetragen von fraweg (230)
am 20.11.2012 - 19:01 Uhr in
am 20.11.2012 - 19:01 Uhr in
Hallo zusammen,
ich habe mal eine Frage bezüglich Rules und Node-Reference.
Ich habe zwei Node Typen:
1. Gallery
2. Image
Die Image-Nodes sind über Node-Reference der Gallery zugeordnet. Nun möchte ich, dass die zugeordneten Image-Nodes auch gelöscht werden, wenn ein Gallery-Node gelöscht wird. Weiß jemand, ob und wie das mit Rules umzusetzen ist?
Beste Grüße
Frank
- Anmelden oder Registrieren um Kommentare zu schreiben
Get Entity by Property
am 20.11.2012 - 19:40 Uhr
Hallo.
Du musst zunächst alle referenzierten Nodes über die Action "Get Entity by Property" (hier Referenzfeld = Node) setzen und dann über das Ergebnis eine Loop laufen lassen und die Nodes einzeln löschen.
Fertig.
Michael
Hallo Michael, Vielen Dank
am 20.11.2012 - 20:12 Uhr
Hallo Michael,
Vielen Dank für deine schnelle Antwort. Mit Rules bin ich wirklich noch nicht richtig warm geworden...
Ich habe das mal probiert. Scheint aber nicht zu klappen. Ich habe mal meine Rule angehängt:
{ "rules_delete_a_node" : {
"LABEL" : "Delete a node",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "rules" ],
"ON" : [ "node_delete" ],
"IF" : [
{ "node_is_of_type" : {
"node" : [ "node" ],
"type" : { "value" : { "gallery_admin" : "gallery_admin" } }
}
}
],
"DO" : [
{ "entity_query" : {
"USING" : {
"type" : "node",
"property" : "field_gallery_reference_admin",
"value" : [ "node" ]
},
"PROVIDE" : { "entity_fetched" : { "entity_fetched" : "Fetched entity" } }
}
}
]
}
}
Noch eine Idee wo ich da Blödsinn mache?
Viele Grüße und Danke nochmals..
Frank
Soo..hab es nun nach einiger
am 23.11.2012 - 16:14 Uhr
Soo..hab es nun nach einiger Fummelei hinbekommen.Hier die Rule:
{ "rules_delete_a_gallery_standard" : {
"LABEL" : "Delete a gallery (Standard)",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "rules", "rules_i18n" ],
"ON" : [ "node_delete" ],
"IF" : [
{ "node_is_of_type" : {
"node" : [ "node" ],
"type" : { "value" : { "gallery_standard" : "gallery_standard" } }
}
}
],
"DO" : [
{ "entity_query" : {
"USING" : {
"type" : "node",
"property" : "field_gallery_reference_standard",
"value" : [ "node" ],
"limit" : "100"
},
"PROVIDE" : { "entity_fetched" : { "entity_fetched" : "Fetched entity" } }
}
},
{ "LOOP" : {
"USING" : { "list" : [ "entity-fetched" ] },
"ITEM" : { "list_item" : "Current list item" },
"DO" : [ { "entity_delete" : { "data" : [ "list-item" ] } } ]
}
},
{ "drupal_message" : { "message" : "Images which have been a reference to the deleted gallery were also deleted." } }
]
}
}
Nochmals Danke für die Hilfe
Frank
cool
am 23.11.2012 - 16:59 Uhr
cool