把 node 在儲存前後的某個 field 拿來計算 (Rules or Trigger, Action?)
需求是這樣的, node 有兩個欄位 A 和 B, 都是數字. 在修改 node 之後, 希望把 A 在修改前後的值相減, 然後存到 B. 測試了一下, 用 Rules 2 是可以做到的, Event 使用 Before saving content, Action 則使用 Calculate a value 和 Set a data value 就可以了.
不過用好幾 Event 有點麻煩, 而且之後的邏輯可能更複雜, 因此想改用 PHP 自己寫, 於是就把 action 改成了 Execute custom PHP code, 但是找不到範例取得 node 的值和修改 node 的值. 以下這兩種寫法都不行, 不知道有沒有範例程式可以參考?
$node->field-final['und'][0]['value'] = 123;