2010-06-09 37 views
3

這個drupal表單片段會給我一個textarea,用戶可以將過濾器更改爲完整的html/wysiwyg模式。Drupal filter_form表單輸入

我的問題:我如何默認爲完整的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, 
); 

回答

0

那麼有兩種方法。

一,您可以在輸入格式下將該角色的默認格式設置爲完整HTML。二,你可以說$ form ['format'] ['#default_value'] = 2(我認爲全HTML是2)。這將預先選擇完整的HTML。

3

這個技巧。

$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
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

爲Drupal 7:處理的最佳方式(或槓桿)Drupal的文本過濾系統是使用不「textarea的」,但「TEXT_FORMAT」字段類型,這樣,這會使帶過濾器的textarea選擇如下:

 $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;