0

フォーム モジュールを作成し (セグメントのみ表示)、フォームの質問の間にテキストを追加したいので、次のように記述しましたが、「テキストはここにあります」というテキストが表示されません。

... $form['name1'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
  );

?><html><p>Text is here </p></html><?

  $form['name2'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE, ...
4

1 に答える 1

1

それが機能しない理由の 1 つは、Drupal が実際に自分でフォームを出力せずにレンダリングするためのフォーム配列を関数で構築しているためです。そのため、php から抜け出して HTML を出力すると、Drupal が関数を実行したときに出力されます。

やりたいことは、マークアップ タイプのフォーム アイテムを追加することです。フォーム APIを参照

また、#collapsible および #collapsed プロパティはほとんど関係なく、フィールドセットにのみ適用されます。

したがって、コードは次のようになります。

$form['name1'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
  );

  $form['betweenfields-html'] = array(
   '#value' => '<p>Text is here </p>',
 );


  $form['name2'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
  );
于 2013-01-23T15:20:01.940 に答える