Di Drupal 7, apa cara terbaik untuk mencegah pengguna non-administratif mengubah bidang profil pengguna khusus?
Gunakan case: Saya telah membuat bidang pengguna yang disebut "ID Pelanggan" yang saya tidak ingin pengguna (salah satu pelanggan saya yang sebenarnya) berubah. Kolom ada untuk referensi saya sendiri dan untuk penggunaan program di modul lain. Saya tidak keberatan pengguna melihat ID Pelanggan, tetapi mereka seharusnya tidak dapat mengeditnya.
Haruskah saya mengganti template halaman untuk halaman profil pengguna? Jika ya, bagaimana templat diubah untuk membuat bidang hanya baca atau tidak terlihat?
Terima kasih banyak atas bantuan Anda!
Chris
Field Permissions
berfungsi dengan baik dengan Drupal 8 tetapi Anda hanya bisa menyembunyikan bidang khusus yang menurut saya (saya perlu menambahkan juga nama pengguna)Untuk menyembunyikan bidang dari formulir profil pengguna, Anda dapat mengatur
#access
properti bidang menjadi FALSE menggunakanhook_form_FORMID_alter
.Cuplikan berikut menyembunyikan bidang
field_organisation
dari formulir profil pengguna untuk non-admin:Lihat juga pertanyaan serupa tentang drupalanswers
Anda juga dapat menyembunyikan bidang dari halaman profil pengguna (bukan formulir) menggunakan template_preprocess_user_profile
Cuplikan berikut menyembunyikan bidang
field_organisation
dari halaman pengguna untuk non-admin:sumber
Tampaknya ada modul yang disebut http://drupal.org/project/user_readonly "Modul ini memungkinkan administrator untuk mencegah modifikasi bidang akun / profil pengguna. Administrator dapat memilih bidang mana yang akan dianulir, atau bidang mana yang akan diizinkan."
sumber