Saya ingin menambahkan bidang ke beberapa jenis konten sekaligus, dan mengonfigurasinya untuk semuanya sekaligus.
Alasannya adalah bahwa saya memiliki banyak jenis konten, yang semuanya perlu diperbarui dengan menambahkan bidang baru ini ke masing-masing. Bidang ini juga akan dikonfigurasikan sama untuk semua jenis konten. Saya harus mengulangi proses menambahkan ini dan kemudian mengonfigurasi bidang setiap jenis konten yang ingin saya tambahkan, dan itu menjadi sulit setelah beberapa saat.
Apakah ada cara untuk melakukan penambahan / konfigurasi massal bidang baru ke banyak jenis konten?
Jawaban:
Garis luas menggunakan modul Fitur dapat:
sumber
Gunakan modul Field Tools :
Kumpulan alat UI yang berguna untuk bekerja dengan bidang:
sumber
Jika Anda tidak keberatan menulis modul khusus untuk ini, relatif mudah untuk menambahkan bidang ke jenis konten melalui kode:
$instance = array(
'field_name' => 'field_firstname',
'label' => 'First name',
'entity_type' => 'node',
'bundle' => 'person',
);
field_create_instance($instance);
Kode di atas akan menambahkan bidang "field_firstname" ke jenis konten dengan nama mesin "orang". Jadi Anda bisa membuat modul bahwa formulir yang memungkinkan Anda untuk memilih bidang dan sejumlah jenis konten dan setelah pengiriman bidang ditambahkan ke semua jenis konten yang dipilih.
sumber
Beberapa kali saya harus melakukan ini, saya menggunakan Field Collection .
Ini masih sangat sulit, karena Anda harus menambahkan bidang koleksi bidang ke setiap jenis konten. Yang mengatakan, jika Anda menambahkan 5 atau 6 bidang ke beberapa jenis konten, Anda hanya perlu mengkonfigurasi 5 atau 6 bidang awal sekali dalam koleksi bidang.
Setelah itu, Anda membuat bidang koleksi bidang (demi argumen, sebut saja
field_collection_field
) pada salah satu jenis konten Anda, dan kemudian gunakan kembali bidang yang sama pada yang lainnya.Seperti yang saya katakan, Anda masih harus mengonfigurasi satu bidang pada x jumlah jenis konten..tapi lebih baik daripada membuat 10 bidang pada 10 jenis konten (misalnya).
sumber
Jika Anda nyaman memanipulasi database secara langsung, instance bidang disimpan dalam tabel {field_config_instance}. Anda bisa menambah / mengonfigurasi bidang Anda untuk satu jenis konten, lalu menemukan catatan di tabel database dan menduplikatnya.
Anda harus mengubah dua nilai kolom pada baris yang digandakan:
sumber