zhilevan - मुझे इस समस्या को जल्दी हल करने के लिए शुरू करने के लिए अच्छे कोड के लिए धन्यवाद। मेरे पास एक साइट है जहां एक सामान्य उपयोगकर्ता भूमिका "क्लाइंट" लॉगिन है, ताकि क्लाइंट फ़ाइलों को अपलोड और डाउनलोड कर सकें। उपयोगकर्ता खाते को "एक बंद" अपलोड या डाउनलोड के लिए संभावित रूप से कई ग्राहकों के बीच साझा किया जाएगा और हम उन्हें इस जेनेरिक खाते के लिए उपयोगकर्ता नाम, पासवर्ड या किसी अन्य सामान को बदलना नहीं चाहते हैं। मुझे यकीन है कि ऐसा करने के लिए और अधिक सुरुचिपूर्ण तरीके हैं, लेकिन यहां उपयोगकर्ता भूमिका के आधार पर "एडिट विकल्प को बंद करने" के लिए मेरा कोड है। (मैंने उपयोगकर्ता को मॉड्यूल की रक्षा करने की कोशिश की, लेकिन यह काम करने के लिए नहीं मिल सका)। यहां मेरा कोड किसी और के उपयोगी होने के मामले में है।
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']);
}
}
}