zoukankan      html  css  js  c++  java
  • form表单生成的简单理解

    1, drupal_get_form,只要是准备$form_state['build_info']['arg'], 然后进入drupal_build_form(), 
    2, form build 主要有3步 drupal_retrieve_form, drupal_prepare_form, drupal_process_form,
    3, 生成form array renderable

    --相对来说, drupal_retrieve_form 实现的比较直观, 就是把form id函数定义的数组取出来,并生成$form['#form_id'], $form_state在这个时候,
    基本上是全部默认值,
    --
    相对来说 drupal_prepare_form 也实现的功能也比较简单,  就是$form_state['programmed'], 和['input']的属性, 其他主要
    是$form 比如#validate #submit hook_form_alter #method, form_build_id, form_token, #id, #tree, #theme
    #theme_wrapper, 的实现 等等

    ----
    然后就是进入到drupal_process_form, 随后进入form_build, 就是补全$element的属性,有的属性就是函数名,于是调用之,方便别人修改需求。

    --
    process之后就是生成一个form render array 被渲染了

  • 相关阅读:
    zoj 3279 线段树 OR 树状数组
    fzu 1962 树状数组 OR 线段树
    hdu 5057 块状链表
    hdu3487 Play with Chain
    bzoj 1588营业额统计(HNOI 2002)
    poj2823 Sliding Window
    poj2828 Buy Tickets
    poj2395 Out of Hay
    poj3667 Hotel
    poj1703 Lost Cows
  • 原文地址:https://www.cnblogs.com/qinqiu/p/4454065.html
Copyright © 2011-2022 走看看