Saat membuat simpul baru, saya memiliki bidang nilai tak terbatas ini dengan tombol "Tambahkan item baru".
Tidak apa-apa, bagus. Tetapi ketika saya mengedit simpul yang ada, saya mendapatkan nilai tambahan kosong yang belum DITAWARKAN untuk saya:
Kasus nyata saya adalah dengan bidang senyawa besar, tetapi saya pikir menggunakan bidang kecil ini sebagai contoh akan lebih mudah dipahami.
Apakah ada cara untuk mencegah bidang "ekstra" ini ditambahkan secara intrusi?
Jawaban:
Ini akan bekerja untuk semua bentuk edit simpul:
sumber
$form[$field_name][$field_language][$max_delta + 1] = $form[$field_name][$field_language][$max_delta];
mungkin bekerja.Ini akan bekerja untuk semua formulir edit simpul tanpa menentukan nama bidang.
sumber
if ($max_delta > 0) { unset($form[$field_name][$field_language][$max_delta]); }
Anda dapat menulis modul Anda sendiri dengan hook_form_FORM_ID_alter untuk menghapus bidang yang tidak diinginkan. Sesuatu seperti...
sumber
jika dari perspektif backend tidak memungkinkan untuk saat ini, sebuah alternatif bisa menjadi Jquery berikut. Kode ini hanya akan menghapus target pertama saat dimuat halaman, dan hanya akan menghapus target ketika pengguna akan menambahkan file, sehingga Anda tidak akan memiliki masalah ketika Anda sudah memiliki file:
(taruh sebelum
body
tag penutup page.tpl.php Anda)Menurut pengujian saya, gambar diunggah tanpa masalah, dan ketika Anda mengedit simpul, semua file terdaftar.
catatan: untuk contoh ini 'field_test_file' adalah nama bidang CCK, jadi ingatlah untuk mengubah sesuai dengan nama bidang cck Anda.
sumber