注文ステータスが完了を示した後に、ユーザーの権限をアップグレードできるようにしたいです。
それを実現するには、 hook_order フックを使用する必要があることがわかりました。しかし、どのユーザーがその注文を作成したかを知るにはどうすればよいですか?また、権限を更新する方法と、その役割の有効期限を自動的に設定する方法はありますか?
支払いが行われ、注文が完了するとすぐにこのフックが呼び出されるようにします。
どんなポインタも価値があります。
注文ステータスが完了を示した後に、ユーザーの権限をアップグレードできるようにしたいです。
それを実現するには、 hook_order フックを使用する必要があることがわかりました。しかし、どのユーザーがその注文を作成したかを知るにはどうすればよいですか?また、権限を更新する方法と、その役割の有効期限を自動的に設定する方法はありますか?
支払いが行われ、注文が完了するとすぐにこのフックが呼び出されるようにします。
どんなポインタも価値があります。
ではhook_order
、3 つのパラメータが渡されます。3 番目のパラメーターは最初のパラメーターに依存します。最初のパラメーターが「更新」の場合、3 番目のパラメーターは注文の進行状況です。
hook_order($op, &$order, $arg2){
switch($op){
case 'update':
if($arg2 === 'completed'){
// This order got marked completed
}
}
}
$order->uid
注文を作成したユーザーが表示されます。次のようなことができます
$user = user_load(array('uid' => $order->uid));
// update the roles assigned to user
user_save($user);
役割を期限切れにするには、期間を追跡し、期限が切れたときに上記のようなことを行うモジュールを作成する必要があります。または、role_expireモジュールを使用して、それが役立つかどうかを確認できます。