You are here

2.8 表单数组结构分析

admin 的头像
Submitted by admin on 星期一, 2015-07-20 10:21

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

可能会有读者问,我是怎么知道的使用$form['name']['#attributes'],使用$form['name']['#theme_wrappers']的。我们可以在form_alter里面加上,我们熟悉这段代码:

print debug($form);

就可以查看表单的结构。

array (

  'name' => 

  array (

    '#type' => 'textfield',

    '#title' => '用户名',

    '#size' => 60,

    '#maxlength' => 60,

    '#required' => true,

    '#description' => '输入您在 SNT 的用户名。',

    '#attributes' => 

    array (

      'tabindex' => 1,

    ),

  ),

  'pass' => 

  array (

    '#type' => 'password',

    '#title' => '密码',

    '#description' => '输入与您用户名相匹配的密码。',

    '#required' => true,

    '#attributes' => 

    array (

      'tabindex' => 1,

    ),

  ),

  '#validate' => 

  array (

    0 => 'user_login_name_validate',

    1 => 'user_login_authenticate_validate',

    2 => 'user_login_final_validate',

  ),

  'remember_me' => 

  array (

    '#title' => '两周内自动登录',

    '#type' => 'checkbox',

    '#default_value' => 1,

    '#attributes' => 

    array (

      'tabindex' => 1,

    ),

  ),

  'actions' => 

  array (

    '#type' => 'actions',

    'submit' => 

    array (

      '#type' => 'submit',

      '#value' => '登录',

      '#attributes' => 

      array (

        'tabindex' => 1,

      ),

    ),

  ),

  '#form_id' => 'user_login',

  '#type' => 'form',

  '#build_id' => 'form-q3SaShBE9RJOLYFhQD5E9Dqm3dccXRyxB_EpYlZgyVQ',

  'form_build_id' => 

  array (

    '#type' => 'hidden',

    '#value' => 'form-q3SaShBE9RJOLYFhQD5E9Dqm3dccXRyxB_EpYlZgyVQ',

    '#id' => 'form-q3SaShBE9RJOLYFhQD5E9Dqm3dccXRyxB_EpYlZgyVQ',

    '#name' => 'form_build_id',

    '#parents' => 

    array (

      0 => 'form_build_id',

    ),

  ),

  'form_id' => 

  array (

    '#type' => 'hidden',

    '#value' => 'user_login',

    '#id' => 'edit-user-login',

    '#parents' => 

    array (

      0 => 'form_id',

    ),

  ),

  '#id' => 'user-login',

  '#method' => 'post',

  '#action' => '/snt2/user/login',

  '#theme_wrappers' => 

  array (

    0 => 'form',

  ),

  '#tree' => false,

  '#parents' => 

  array (

  ),

  '#submit' => 

  array (

    0 => 'user_login_submit',

  ),

  '#theme' => 

  array (

    0 => 'user_login',

  ),

)

snt_preprocess_user_login里面,使用print debug($variables['form']);,也是同样的效果。


Drupal版本: