Я намагаюся надати своїм редакторам вмісту можливість змінювати змінну для спеціального модуля. Ця змінна може мати html. Я не хочу вимагати, щоб вони мали будь-які знання HTML, тому я хочу дати їм можливість мати наш wysiwyg (CKEditor, наданий модулем CKEditor). Однак, на сьогодні, дані не зберігаються як змінна. Я читав у кількох місцях (Do, stackexchange), що мені потрібно зробити щось подібне:
$form['foo']['bar'] = array(
'#type' => 'text_format',
'#title' => 'Bar',
'#definition' => 'Foo Bar',
'#default_value' => variable_get('bar', ''),
'#weight' => 1,
'#format' => 'filtered_html',
'#required' => FALSE,
);
Це не працює нестандартно з system_settings_form ($ форма). Var_dump показує це після збереження:
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
З цього видно, що "формат" зберігається правильно, але "значення" - ні. Що я пропускаю?
Також, якщо є кращий спосіб зробити це, будь ласка, скажіть.