Форма ввода Drupal filter_form - PullRequest
3 голосов
/ 10 июня 2010

Этот фрагмент друпалской формы даст мне текстовое поле, в котором пользователь сможет изменить фильтр на полный режим html / wysiwyg.

Мои вопросы: как я могу по умолчанию перейти в полный режим HTML?

function MY_MODULE_admin() {
  $form = array();

 $form['format'] = filter_form($form->format);

  // MY_MODULE - ** Image 1 **
    $form['MY_MODULE_image_1'] = array(
    '#type' => 'textarea',
    '#title' => t('Image 1'),
    '#default_value' => variable_get('setup_image_1', 'image_1.jpg'),
    '#description' => "Current value =" .variable_get('setup_image_1', 'image_1.jpg'),
    '#required' => TRUE,
  );

Ответы [ 4 ]

3 голосов
/ 10 июня 2010

Это добилось цели.

 $form = array();

 $form['carousel_setup_image_1']['accepted_text_1'] = array(
    '#type' => 'textarea',
    '#title' => t('Image 1 - Carousel '),
    '#default_value' => variable_get('carousel_setup_image_1', 'carousel_image_1.jpg'),
    '#description' => "Current value =" .variable_get('carousel_setup_image_1', 'carousel_image_1.jpg'),
  ); 
  $form['carousel_setup_image_1']['format'] = filter_form(2, NULL, array('accepted_text_1_format'));    
0 голосов
/ 19 января 2013

Для Drupal 7: лучший способ обработать (или использовать) систему текстового фильтра Drupal - это использовать не 'textarea', а тип поля 'text_format', как этот, который будет отображать текстовое поле с фильтром, выбранным ниже:

      $form['holycrap'] = array(
        '#type' => 'text_format',
        '#format' => NULL, // <- Let Drupal handle the default, based upon user role
        '#title' => t('The HTML for the Holy Crap block above the Main Menu.'),
        '#default_value' => variable_get('caplogin_holycrap', _caplogin_holycrap_default_html()),
      );
     return $form;
0 голосов
/ 10 июня 2010
however, I am not sure why $edit['carousel_setup_image_1']['accepted_text_1']) does not contain entered value.

function carousel_setup_block($op = 'list', $delta = 0, $edit = array())
{
       switch($op)
        {

            // case save (save configuration values)       
            case 'save':
            variable_set('carousel_setup_image_1',                
                    $edit['carousel_setup_image_1']['accepted_text_1']);
                break;           
        }   
    }
0 голосов
/ 10 июня 2010

Ну, есть два способа.

Во-первых, вы можете установить формат этой роли по умолчанию в Full HTML в Форматы ввода.

Два, вы можете сказать $ form ['format'] ['#default_value'] = 2 (я думаю, что полный HTML равен 2).Это будет предварительно выбрать полный HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...