Все привет!
Не могу понять, почему не работает правило (rules). Может кто-то с подобным сталкивался.
Есть типы нод "взнос" и "платеж", "платеж" имеет связь со "взносом" через Entity Reference по полю "field_vznos_plateg".
Пытаюсь передать значение из ноды "платеж" поля "field_sum_plateg" в ноду "взносы" поле "field_plategi_po_vznosu" (со множественным значением).
{ "rules_plata_po_vznosu" : {
"LABEL" : "plata-po-vznosu",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "node_insert--plateg" : { "bundle" : "plateg" } },
"IF" : [
{ "node_is_of_type" : { "node" : [ "node" ], "type" : { "value" : { "vznos" : "vznos" } } } },
{ "entity_has_field" : { "entity" : [ "node" ], "field" : "field_sum_plateg" } },
{ "entity_has_field" : { "entity" : [ "node" ], "field" : "field_vznos_plateg" } },
{ "data_is" : { "data" : [ "node:field-vznos-plateg:nid" ], "value" : [ "node:nid" ] } }
],
"DO" : [
{ "list_add" : {
"list" : [ "node:field-plategi-po-vznosu" ],
"item" : [ "node:field-sum-plateg" ]
}
}
]
}
}
"LABEL" : "plata-po-vznosu",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "node_insert--plateg" : { "bundle" : "plateg" } },
"IF" : [
{ "node_is_of_type" : { "node" : [ "node" ], "type" : { "value" : { "vznos" : "vznos" } } } },
{ "entity_has_field" : { "entity" : [ "node" ], "field" : "field_sum_plateg" } },
{ "entity_has_field" : { "entity" : [ "node" ], "field" : "field_vznos_plateg" } },
{ "data_is" : { "data" : [ "node:field-vznos-plateg:nid" ], "value" : [ "node:nid" ] } }
],
"DO" : [
{ "list_add" : {
"list" : [ "node:field-plategi-po-vznosu" ],
"item" : [ "node:field-sum-plateg" ]
}
}
]
}
}
Комментарии
Вроде бы все просто, а почему не работает не понятно.
Может кто знает, как тестить Rules, чтоб посмотреть на каком моменте перестает работать?
Где-то на страницах админки Rules есть настройки для включения "отладочных" сообщений (debug).
Получилось с помощью Conditional Rules
"LABEL" : "plategi-po-vznosam",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules", "rules_conditional" ],
"ON" : { "node_insert--plateg" : { "bundle" : "plateg" } },
"IF" : [
{ "entity_has_field" : { "entity" : [ "node" ], "field" : "field_sum_plateg" } },
{ "entity_has_field" : { "entity" : [ "node" ], "field" : "field_vznos_plateg" } }
],
"DO" : [
{ "entity_fetch" : {
"USING" : { "type" : "node", "id" : [ "node:field-vznos-plateg:nid" ] },
"PROVIDE" : { "entity_fetched" : { "entity_fetched" : "mode_id" } }
}
},
{ "CONDITIONAL" : [
{
"IF" : { "entity_has_field" : { "entity" : [ "entity-fetched" ], "field" : "field_plategi_po_vznosu" } },
"DO" : [
{ "list_add" : {
"list" : [ "entity-fetched:field-plategi-po-vznosu" ],
"item" : [ "node:field-sum-plateg" ]
}
}
]
}
]
}
]
}
}