Saya menggunakan elemen kotak centang dalam formulir di modul yang saya mulai kembangkan untuk Drupal 7. Ini adalah upaya pertama saya pada pengembangan modul dan menggunakan API Formulir. Saya membuat daftar kotak centang yang mencantumkan semua jenis konten situs tertentu. Array dari semua jenis konten dapat diperoleh dengan menggunakan berikut: $nodeTypesRaw=node_type_get_names();
. Array dengan nama mesin dari tipe konten sebagai kunci dan nama yang dapat dibaca manusia saat nilainya diperoleh.
Secara default, saya ingin semua kotak centang dipilih dan ketika formulir dikirimkan. Bagaimana saya mencapainya? Halaman Form API di situs drupal tidak terlalu membantu dalam hal pengaturan nilai default untuk kotak centang.
$nodeTypesRaw=node_type_get_names();
$nodeMachineNames=array_keys($nodeTypesRaw);
$form['process_comments']['custommod_published_comments_select_node_types']['custommod_published_comments_node_types_checkboxes']=array(
'#deafult_value'=>$nodeMachineNames,
'#options'=>$nodeTypesRaw,
'#type'=>'checkboxes',
);
Saya awalnya mulai dengan kode di atas, tetapi tidak akan berhasil. Itu memang menampilkan daftar kotak centang, tetapi mereka tidak dicentang secara default. Variabel tidak mendapatkan pengiriman formulir (diperiksa melalui drush dan var_dump).
#default_value
, tidak#deafult_value
. FA bukan AF.