Form API Intro

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Form API Intro - Presentation Transcript

    1. Forms API Inside Out Or, How I Learned to Stop Worrying and Love the Nested Arrays 1
    2. The Olden Days In the beginning, there was HTML Then, there were helper functions Each form had to reinvent workflow Each form had to reinvent security The Node Form made Baby Jesus cry 2
    3. Drupal’s Answer: Forms API Build forms as structured data Make the workflow automatic Make ‘doing the right thing’ easy When everything is done, render to HTML 3
    4. So, What’s It Look Like? function my_form() { $form = array(); $form['foo'] = array( '#type' => 'textarea', '#title' => t('Your foo'), ); $form['submit'] = array( '#type' => 'submit', '#value' => t('Submit yo foo'), ); return $form; } 4
    5. So, What’s It Look Like? 5
    6. How to Use Your Form drupal_get_form('my_form') my_form() my_form_validate(...) my_form_submit(...) 6
    7. Behind the Scenes http://foo.com/my-form my_form_page() drupal_get_form('my_form') my_form() (Here, magic happens*) drupal_render($form) 7
    8. Behind the Scenes (Part 2) Here’s that form you gave me drupal_get_form('my_form') $_POST has data! my_form() my_form_validate(...) my_form_submit(...) 8
    9. Recap, With Kittens Call drupal_get_form(‘my_form’) The my_form() function builds an array Drupal sanity checks $_POST The my_form_validate() function validates The my_form_submit() function processes The drupal_render() function outputs the form. T. Keller 9
    10. Here’s the Magic Build the initial form definition drupal_process_form() drupal_build_form() hook_form_alter() _form_builder() 10
    11. Here’s the Magic _form_builder() does a lot! Handles defaults Weaves $_POST into the form Builds $form_values Inserts security tokens 11
    12. “Special” Bits hook_elements() hook_form_alter() drupal_execute() 12
    13. Current Limitations Dynamic AHAH/AJAX Wizard-style forms Too many special cases AHAH/AJAX security! 13
    14. The Future of Forms API Form chunks State management AHAH/AJAX security 14
    15. Whee! 15

    + Jeff EatonJeff Eaton, 3 years ago

    custom

    1489 views, 1 favs, 0 embeds more stats

    An introduction to Drupal's FormAPI, as of version more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1489
      • 1489 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 66
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories