PHPのルールでノードにフラグを立てるためにポイントを請求しようとしています。次のコードを使用しています。
//Get variables and load user.
$uid = [userpoints-transaction:user:uid];
$account = user_load($uid);
// Check the user has enough points.
if ($loaded_points > 10) {
// DON'T KNOW HOW TO TAKE 10 POINTS.
// Flag a node.
$flag = flag_get_flag('purchase') or die('no "purchase" flag defined');
$flag->flag('flag', $node->nid);
// Search for the newly created flagging entity.
$flag = flag_get_user_flags('node', $node->nid);
foreach ($flag as $flagging_object) {
$flagging_id = $flagging_object->flagging_id;
}
// Load the entity found and create or update a field value.
$flagging = entity_load_single('flagging', $flagging_id);
$flagging->purchase['und'][0]['value'] = 'DONT KNOW DEFAULT VALUE OF FLAGGING';
// Save the updated flagging entity object.
entity_save('flagging', $flagging);
}
drupal_set_message($msg);
それらに10ポイントを請求する方法と、ノードにフラグを立てるときのデフォルト値がわかりません。
ノードにフラグを付けた後、ユーザーに10個のユーザーポイントを付与したいだけの場合は、事態が複雑になります。これは、カスタムコーディングなしで実行できます。これがあなたがしなければならないことです: