답변:
zhilevan –이 문제를 신속하게 해결하는 데 도움이되는 멋진 코드 덕분입니다. 클라이언트가 파일을 업로드하고 다운로드 할 수 있도록 일반 사용자 역할 "client"로그인이있는 사이트가 있습니다. 사용자 계정은 "일회용"업로드 또는 다운로드를 위해 잠재적으로 많은 클라이언트간에 공유되며이 일반 계정의 사용자 이름, 비밀번호 또는 기타 항목을 변경하지 않기를 바랍니다. 이 작업을 수행하는 데 더 우아한 방법이 있다고 확신하지만 사용자 역할에 따라 "편집 옵션을 내리는"코드가 있습니다. (사용자 보호 모듈을 시도했지만 작동하지 못했습니다). 다른 사람이 유용하다고 생각하는 경우를 대비하여 내 코드가 있습니다.
function mymodule_form_alter(&$form,$form_state,$form_id) {
global $user;
if ($form_id == "user_profile_form") {
if(in_array('Client',$user->roles) && isset($form['account'])) {
$form['account']['name']['#disabled']=TRUE;
$form['account']['current_pass']['#disabled']=TRUE;
$form['account']['current_pass']['#description']='';
$form['account']['mail']['#disabled']=TRUE;
unset($form['picture']);
unset($form['overlay_control']);
}
}
}