【发布时间】:2011-03-17 06:01:49
【问题描述】:
我希望在订单状态显示完成后能够升级用户的权限。
我发现我应该使用 hook_order 钩子来实现这一点。但是我如何知道哪个用户创建了该订单以及如何更新权限以及自动为该角色设置过期时间。
我希望在付款和订单完成后立即调用此挂钩。
任何指针都是有价值的。
【问题讨论】:
标签: drupal ubercart drupal-hooks
我希望在订单状态显示完成后能够升级用户的权限。
我发现我应该使用 hook_order 钩子来实现这一点。但是我如何知道哪个用户创建了该订单以及如何更新权限以及自动为该角色设置过期时间。
我希望在付款和订单完成后立即调用此挂钩。
任何指针都是有价值的。
【问题讨论】:
标签: drupal ubercart drupal-hooks
在hook_order中,传递了3个参数。第三个参数取决于第一个。当第一个参数是'update'时,第三个参数是订单的状态。
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 模块看看是否有帮助。
【讨论】: