Какая часть api каналов знает, есть ли разница между старыми и новыми данными?
Я хочу отметить элемент, если канал внес какие-либо изменения в запись. Какой крючок я могу использовать для проверки новых и старых данных, чтобы увидеть, есть ли разница? Мне нужно пометить измененные данные флагом, а также получить журнал всех измененных узлов. Прямо сейчас каналы, похоже, помечают все как обновленное, даже если изменений нет.
Я попытался заглянуть в hook_feeds_presave, но там уже изменены как $item, так и $entity. Какой крючок может видите сравнение между старым и новым?
1
Author: Pierre.Vriens, 2015-07-27
1 answers
Я изменяю код в hook_feeds_before_update и пишу код следующим образом:
if ($item){
$node = node_load($item);
$changed=false;
if ($entity['ITEM'] != $node->field_item[LANGUAGE_NONE][0]['value']){
if (trim($entity['ITEM'])=="UNKNOWN"){
$entity['ITEM'] = $node->field_item[LANGUAGE_NONE][0]['value'];
}
}
А затем я отмечаю это правилом:
{ "rules_flag_when_updated_by_feed" : {
"LABEL" : "Flag when updated by feed",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "flag", "feeds" ],
"ON" : { "feeds_import_csv_importer" : [] },
"DO" : [
{ "flag_flagnode" : {
"flag" : "flag_asset_for_review",
"node" : [ "node" ],
"flagging_user" : [ "site:current-user" ],
"permission_check" : "1"
}
}
]
} }
0
Author: Diana, 2015-07-28 19:02:29