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

这不起作用的原因之一是,在您的函数中,您正在为 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 回答