Ini telah mengganggu saya untuk sementara waktu .. Ketika saya mencoba untuk menyembunyikan bidang seperti bidang audiens grup, atau pengaturan penerbitan dari formulir, pada validasi formulir mengatur kedua bidang ini ke nilai nol, meskipun nilai defaut sebagai telah dinyatakan dengan benar.
Saya mencoba menggunakan Invisible, #access, unset hidden nothing work! Ini sangat menyusahkan karena untuk proyek saya saat ini, pengguna dapat mengedit hanya sebagian kecil dari profil mereka pada saat itu, misalnya hanya alamat atau gambar, jadi jika saya menyembunyikan audiens grup pengguna akhirnya dikeluarkan dari grup yang dimilikinya di setiap sunting.
Saya akhirnya menggunakan kode di bawah ini untuk menyembunyikan bidang ini sambil tetap menjaga pengguna dalam grup mereka.
$variables['user_edit_about']['group_audience']= $temp['group_audience'];
$variables['user_edit_about']['group_audience']['#prefix'] = '<div style="display:none;">';
$variables['user_edit_about']['group_audience']['#suffix'] = '</div>';
Adakah yang akan memikirkan cara yang lebih baik untuk mencapai ini?
Terima kasih
sumber
Jawaban:
Edit:
Oke, saya sudah menemukannya. Letakkan ini di modul khusus Anda:
Ini akan menetapkan judul simpul cerita menjadi 'barang panas' dan TIDAK akan ditampilkan di halaman karena #access = FALSE;
Anda dapat menambahkan lebih banyak kontrol granularity di dalam hook_form_alter () seperti
Ini berfungsi untuk Drupal 6 & 7.
Jawaban Lama (abaikan):
Sudah beberapa saat sejak saya melakukan sesuatu seperti ini, jadi saya mungkin salah. Jika Anda mengatur
[#value]
item formulir, itu tidak akan terlihat pada formulir.Saya melakukan ini di Drupal 6,
hook_form_alter()
dalam modul khusus. Saya tidak tahu apakah itu akan berfungsi di Drupal 7 dan saya tidak tahu apakah Anda bisa melakukannya dalam fungsi preprosessumber
Anda juga bisa menambahkan kelas CSS 'elemen-tersembunyi' ke elemen formulir
Seperti yang disebutkan iStryker sebelumnya, masih mungkin untuk mengubah nilai melalui manipulasi DOM. Namun, ini adalah cara yang bagus dan mudah untuk menyembunyikan bidang formulir (atau elemen render lainnya). The
element-hidden
kelas didefinisikan dalamsystem.base.css
.sumber