3

このdrupalフォームスニペットは、ユーザーがフィルターを完全な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

4 に答える 4

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'));    
于 2010-06-10T02:41:22.487 に答える
0

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;
于 2013-01-18T21:02:47.560 に答える
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;           
        }   
    }
于 2010-06-10T02:46:04.003 に答える
0

さて、2つの方法があります。

1 つは、その役割のデフォルト形式を [入力形式] で [完全な HTML] に設定できることです。

2 つ目は、$form['format']['#default_value'] = 2 と言えます (完全な HTML は 2 だと思います)。これにより、完全な HTML が事前に選択されます。

于 2010-06-09T21:59:14.200 に答える