zhilevan - ขอบคุณสำหรับรหัสที่ดีเพื่อให้ฉันเริ่มต้นในการแก้ปัญหานี้ได้อย่างรวดเร็ว ฉันมีเว็บไซต์ที่มีการลงชื่อเข้าใช้ "ลูกค้า" ทั่วไปของผู้ใช้เพื่อให้ลูกค้าสามารถอัปโหลดและดาวน์โหลดไฟล์ได้ บัญชีผู้ใช้จะถูกแชร์ระหว่างลูกค้าจำนวนมากสำหรับการอัปโหลดหรือดาวน์โหลด "one off" และเราไม่ต้องการให้พวกเขาเปลี่ยนชื่อผู้ใช้รหัสผ่านหรือสิ่งอื่นใดสำหรับบัญชีทั่วไปนี้ ฉันแน่ใจว่ามีวิธีที่หรูหรากว่าในการทำเช่นนี้ แต่นี่คือรหัสของฉันสำหรับ "การปิดตัวเลือกการแก้ไข" ตามบทบาทของผู้ใช้ (ฉันลองโมดูลป้องกันผู้ใช้ แต่ไม่สามารถใช้งานได้) นี่คือรหัสของฉันในกรณีที่คนอื่นเห็นว่ามีประโยชน์
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']);
}
}
}