Estoy intentando dar a mis editores de contenido la capacidad de cambiar una variable para un módulo personalizado. Esta variable puede tener html. No quiero exigirles que tengan ningún conocimiento de HTML, por lo que quiero darles la capacidad de tener nuestro wysiwyg (CKEditor proporcionado por el módulo CKEditor) a su disposición. Sin embargo, a partir de ahora, los datos no se guardan como una variable. He leído en algunos lugares (Do, stackexchange) que necesitaba hacer algo como esto:
$form['foo']['bar'] = array(
'#type' => 'text_format',
'#title' => 'Bar',
'#definition' => 'Foo Bar',
'#default_value' => variable_get('bar', ''),
'#weight' => 1,
'#format' => 'filtered_html',
'#required' => FALSE,
);
Esto no funciona listo para usar con un system_settings_form ($ form). Un var_dump muestra esto después de guardar:
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
A partir de esto, puede ver que el "formato" se guarda correctamente, pero el "valor" no. ¿Qué me estoy perdiendo?
Además, si hay una mejor manera de hacerlo, dígaselo.