簡體   English   中英

在用戶編輯頁面Drupal 8上添加用戶角色

[英]Add user role on user edit page Drupal 8

網站在Drupal 8上。我有一個用於編輯用戶的表單(在url:user / {user} / edit上),我在那里添加了兩個復選框,第一個復選框是驅動程序角色,第二個復選框是乘客(對於例)。

我希望當用戶選擇例如第一個復選框並單擊“保存”時。 他的個人資料應該更新,並且應該添加所選的早期角色。 第二個角色是退休(如果有的話)。

我認為,如果您基於選定的復選框分配提交處理程序角色,我們可以做到。

但我不知道如何正確編寫代碼

在此處輸入圖片說明

不清楚您想要什么,但是您可以在其中做任何事情

hook_form_alter()

這是代碼

/**
 * Implements hook_form_alter().
 */
function MODULENAME_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  switch ($form_id){
    case 'user_profile_form':
      $form['#submit'][] = 'user_update_func';

    break;
  }
}

/**
 * submit callback fuction.
 */
function user_update_func($form, \Drupal\Core\Form\FormStateInterface $form_state) {
  $currentUser = \Drupal::currentUser();
  $currentUser->addRole('new_selected_role');
  $currentUser->removeRole('old_selected_role');
  $currentUser->save();
}

希望這對您有幫助

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM