2010-06-09 4 views
3

Cet extrait de formulaire drupal me donnera une zone de texte avec l'utilisateur en mesure de changer le filtre en mode html/wysiwyg.Drupal filter_form formulaire entrée

Mes questions: Comment puis-je passer en mode html complet?

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, 
); 

Répondre

0

Eh bien, il y a deux façons. Un, vous pouvez définir le format par défaut de ce rôle sur Full HTML sous Formats d'entrée. Deux, vous pouvez dire $ form ['format'] ['# default_value'] = 2 (je pense que Full HTML est 2). Ceci présélectionnera le HTML complet.

3

Cela a fait l'affaire.

$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

Pour Drupal 7: La meilleure façon de gérer (ou effet de levier), le système de filtrage de texte Drupal est de ne pas utiliser « textarea », mais le type de champ « TEXT_FORMAT », comme celui-ci, qui rendra une zone de texte avec le filtre sélectionné ci-dessous:

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