2014-01-27 230 views
1

是否有任何設置基於用戶角色的自定義表單(hook_form)字段的限制訪問權限。 (即)字段權限模塊爲cck提供了這種靈活性,但不適用於自定義表單字段。Drupal自定義表單字段權限

回答

2

那麼我不知道任何模塊,但你可以做到這一點。

function custom_form(){ 

//obtained logged in user and his roles 
global $user; 
$current_role = $user->roles; 

//this form field is static 
$form = array(); 
$form['name'] = array(
    '#type' => 'textfield', 
    '#title' => t('name'), 
); 
//the below form fields are based on the current_role of the user 
if(in_array('test1', $current_role)){ 
    $form['conditional'] = array(
    '#type' => 'textfield', 
    '#title' => t('test1'), 
); 
} 
if(in_array('test2', $current_role)){ 
    $form['conditional'] = array(
    '#type' => 'textfield', 
    '#title' => t('test2'), 
); 
} 
return $form; 
} 

我不知道這是否是您需要的確切功能。 如果用戶具有角色test1,則顯示文本字段'test1',如果用戶具有角色test2,則顯示test2。

希望這會有所幫助。