Saya mencoba memberi editor konten saya kemampuan untuk mengubah variabel untuk modul khusus. Variabel ini dapat memiliki html. Saya tidak ingin meminta mereka memiliki pengetahuan tentang HTML, jadi saya ingin memberi mereka kemampuan untuk memiliki wysiwyg kami (CKEditor disediakan oleh modul CKEditor) yang mereka miliki. Namun, sampai sekarang, data tidak menyimpan sebagai variabel. Saya telah membaca di beberapa tempat (Do, stackexchange) yang perlu saya lakukan seperti ini:
$form['foo']['bar'] = array(
'#type' => 'text_format',
'#title' => 'Bar',
'#definition' => 'Foo Bar',
'#default_value' => variable_get('bar', ''),
'#weight' => 1,
'#format' => 'filtered_html',
'#required' => FALSE,
);
Ini tidak bekerja di luar kotak dengan system_settings_form ($ form). Var_dump menunjukkan ini setelah save:
array (size=7)
'#type' => string 'text_format' (length=11)
'#title' => string 'Bar' (length=7)
'#definition' => string 'Foo Bar' (length=74)
'#default_value' =>
array (size=2)
'value' => string '' (length=0)
'format' => string 'filtered_html' (length=9)
'#weight' => int 1
'#format' => string 'filtered_html' (length=9)
'#required' => boolean false
Dari ini, Anda dapat melihat bahwa 'format' menyimpan dengan benar, tetapi 'nilai' tidak. Apa yang saya lewatkan?
Juga, jika ada cara yang lebih baik untuk melakukan ini, tolong beri tahu.