100.00 €以上の金額を注文するユーザーに特定の役割を付与しようとしています: 条件付きアクションは実績にかなり近づいていますが、アクションに失敗しています (PHP が必要です)。
Ubercart 条件付きアクションで PHP アクションを使用してロールを付与するにはどうすればよいですか?
100.00 €以上の金額を注文するユーザーに特定の役割を付与しようとしています: 条件付きアクションは実績にかなり近づいていますが、アクションに失敗しています (PHP が必要です)。
Ubercart 条件付きアクションで PHP アクションを使用してロールを付与するにはどうすればよいですか?
いくつかの関連 スレッドに基づいて、次の行に沿って「カスタム PHP コードを実行する」アクションを追加する必要があると思います (行 #3 の適切なロール名に置き換えます)。
if($account) {
$uid = $account->uid;
$role_name = 'YOUR SPECIFIC ROLE NAME GOES HERE';
$rid = db_result(db_query("SELECT rid FROM {role} WHERE name = '%s'", $role_name));
// Load user object
$account = user_load(array('uid' => 1));
// Save the user object with the new roles.
if ($account !== FALSE) {
$roles = $account->roles + array($rid => $role_name);
user_save($account, array('roles' => $roles));
watchdog('user', 'uc ca added role to Ubercart created user');
提供されたコードは、2 つの括弧を閉じる必要があります。ステートメントを削除しif
、注文から uid を取得して、uid 設定を修正しました (「1」でした)。
$uid = $order->uid;
$role_name = 'customer';
$rid = db_result(db_query("SELECT rid FROM {role} WHERE name = '%s'", $role_name));
// Load user object
$account = user_load(array('uid' => $uid));
// Save the user object with the new roles.
$roles = $account->roles + array($rid => $role_name);
user_save($account, array('roles' => $roles));
watchdog('user', 'uc ca added role to Ubercart created user');