Drupal窗体和树选项

时间:2020-03-05 15:25:34  来源:igfitidea点击:

可能需要命名数组结构中的表单元素,以确定表单的构建方式。
我们可以在Ubercart签出窗格窗体的输入元素中看到这一点。
这是非常有用的,当一个人有一个大的多部分形式,可以很容易地分组他们的文章内容的数组格式。

Eg: panes[delivery][delivery_first_name]

在$form construct数组上使用一个简单的标志就可以了。
这是#树选项。
对于我们设置此#树选项的任何元素,该元素的子元素的命名将完全引用其父元素。

$form['panes'] = array('#tree' => TRUE);
  $form['panes']['delivery'] = array(
      '#type' => 'fieldset',
      '#title' => t('Delivery Address'),
      '#attributes' => array('id' => 'delivery-pane'),
  );
  $form['panes']['delivery']['delivery_first_name'] = array(
      '#type' => 'textfield',
      '#title' => t('First name'),
  );

其中delivery first_name输入元素在呈现时将有一个name="panes[delivery][delivery_first_name]",因为它的父元素之一是将#tree设置为TRUE。