在我的Drupal 7網站上,我正在尋找一種方法,只允許具有特定角色的用戶上傳PDF文件。但是,所有用戶都可以上傳其他文件類型(例如jpg,mp4)。Drupal:通過權限限制文件上傳
是否有一個模塊或一些可用的代碼可以爲我完成該工具?
在我的Drupal 7網站上,我正在尋找一種方法,只允許具有特定角色的用戶上傳PDF文件。但是,所有用戶都可以上傳其他文件類型(例如jpg,mp4)。Drupal:通過權限限制文件上傳
是否有一個模塊或一些可用的代碼可以爲我完成該工具?
你不需要一個模塊。 你可以寫一個hook_form_alter並執行以下操作
1. add help-text based on role.
if role = 1
#form['field_name']['#description'] = t('Help test 1')
elseif role = 2
#form['field_name']['#description'] = t('Help test 2')
添加自定義的驗證檢查基於角色的文件擴展名。
$ form ['#validate'] [] ='validate_function'; 功能validate_function 如果角色= 1種 驗證文件類型1 ELSEIF角色= 2 驗證文件類型2
喝彩!
您可以使用hook_form_alter
來實現此目的。
負荷用戶對象
global $user;
$valid_role = 'yourGivenRole';
if(in_array($valid, $user->roles)){
$form['field_name']['und'][0]['#upload_validators']['file_validate_extensions'][0] = 'pdf';
}
你可以闡述你的答案 –