Доступ к содержимому текстового поля в Drupal-7-Theme-Form

в моем настраиваемом theme-settings.php (zen-subtheme) я помещаю следующий код, чтобы получить новое текстовое поле с текстовым форматом в моих настройках темы:

  <?php
    function paper_form_system_theme_settings_alter(&$form, &$form_state)  {
        $form['paper_data'] = array(
        '#type' => 'text_format',
        '#title' => 'Put Text in here:',
        '#rows' => 5,
        '#resizable' => FALSE,
        '#default_value' => 'xyz..',
        '#format' => 'full_html'
      );
    }

форма работает идеально, но когда я хочу получить доступ к переменной, написав

<?php
$pdata = theme_get_setting('paper_data');
echo $pdata;
?>

в моем page.tpl.php содержимое переменной не отображается - вместо этого печатается слово «Массив» ... Что не так и почему? (Если я использую в качестве типа 'textarea' вместо 'text_format', все отображается хорошо.)


person Madamadam    schedule 26.12.2011    source источник


Ответы (1)


Вы поймете это, если будете использовать для проверки переменной что-то вроде функции dpm() модуля Devel, а не echo(). Написание Drupal без модуля Devel, ИМХО, глупость.

Проблема, скорее всего, связана с использованием вами типа text_format. Как видите, он сохраняет как значение textarea, так и связанный с ним текстовый формат. Когда это используется, Drupal возвращает данные в структурированной форме, которая зависит от типа формата.

dpm() твой друг :)

person Community    schedule 06.01.2012