Thread: Drupal Form API
-
09-06-2012, 13:50 #1
Drupal Form API
Hallo iedereen,
Ik ben onlangs met drupal begonnen maar zit met de form api in de problemen. ik heb de tutorial gevolgd op drupal. Ik krijg geen extra forum toegevoegd in mijn module.
Ik doe iets verkeerd en hoop dat iemand hier deze noob even wil helpen. Hierbij alvast de code:
Code:<?php function my_module_menu() { $items = array(); $items['my_module/form'] = array( 'title' => t('My form'), 'page callback' => 'my_module_form', 'access arguments' => array('access content'), 'description' => t('My form'), 'type' => MENU_CALLBACK, ); $items['my_module/categoryform'] = array( 'title' => t('Change Category'), 'page callback' => 'my_module_categoryform', 'access arguments' => array('access content'), 'description' => t('Change Category'), 'type' => MENU_CALLBACK, ); return $items; } function my_module_form() { return drupal_get_form('my_module_my_form'); } function my_module_categoryform(){ return drupal_get_form('my_module_my_categoryform'); } function my_module_my_categoryform($form_state){ $result = db_query("SELECT * FROM {FOT_CATEGORY} WHERE ID = %d", arg(2)); $node = db_fetch_object($result); $name = $node->NAME; $description = $node->DESCRIPTION; $_SERVER['cat_name'] = $name; $_SERVER['cat_description'] =$description; $_SERVER['cat_id']=$node->ID; $form['Name'] = array( '#type' => 'textfield', '#title' => 'Category name', '#required' => TRUE, '#default_value' => $name, ); $form['Description'] = array( '#type' => 'textarea', '#title' => 'Descritpion', '#required' => TRUE, '#default_value' => $description, ); return form; } function my_module_my_form($form_state) { $form['name'] = array( '#type' => 'fieldset', '#title' => t('Name'), '#collapsible' => TRUE, '#collapsed' => FALSE, ); $form['name']['first'] = array( '#type' => 'textfield', '#title' => t('First name'), '#required' => TRUE, '#default_value' => "First name", '#description' => "Please enter your first name.", '#size' => 20, '#maxlength' => 20, ); $form['name']['last'] = array( '#type' => 'textfield', '#title' => t('Last name'), '#required' => TRUE, ); $form['year_of_birth'] = array( '#type' => 'textfield', '#title' => "Year of birth", '#description' => 'Format is "YYYY"', ); $form['submit'] = array( '#type' => 'submit', '#value' => 'Submit', ); return $form; } function my_module_my_form_validate($form, &$form_state) { $year_of_birth = $form_state['values']['year_of_birth']; if ($year_of_birth && ($year_of_birth < 1900 || $year_of_birth > 2000)) { form_set_error('year_of_birth', 'Enter a year between 1900 and 2000.'); } } // Adds a submit handler/function to our form to send a successful // completion message to the screen. function my_module_my_form_submit($form, &$form_state) { drupal_set_message(t('The form has been submitted.')); } ?><----Death is just an other path in life, one that we all must take---->no votes
-
-
09-06-2012, 13:54 #2Approved 9liver
- Registered
- 18/04/03
- Location
- Hasselt
- Posts
- 14,855
- iTrader
- 23 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 10/79
no votes
-
09-06-2012, 14:10 #3
ok, dat had ik er moeten bijvertellen
als het gaat over simpele mail formuliertjes dan kan de webform idd heel handig zijn. Mijn formulier gaat op basis van een argument in de url, een databank entry uitlezen. Dit zou hij dan moeten laden in de default_value, bij indienen van het formulier moet hij dan de wijzigingen gaan opslagen in de databank en daarvoor heb ik form api nodig en volstaat de webform niet.
<----Death is just an other path in life, one that we all must take---->no votes
-
09-06-2012, 19:57 #4
Mensen, laat maar! wederom een domme menselijke fout natuurlijk! title => t('xxxx')!
<----Death is just an other path in life, one that we all must take---->no votes
-
09-06-2012, 20:06 #5Approved 9liver
- Registered
- 18/04/03
- Location
- Hasselt
- Posts
- 14,855
- iTrader
- 23 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 10/79
no votes
-
09-06-2012, 22:27 #6
op zoek gegaan naar de code waar de fout in zat door middel van stukken in comment te plaatsen. Vervolgens kwam ik uit op mijn formulier. Op de drupal form api site gaan kijken naar de verplichte waarden en zo gemerkt dat mijn titel niet het juiste formaat had.
<----Death is just an other path in life, one that we all must take---->no votes
-
10-06-2012, 12:02 #7Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
Je weet toch dat je (mits wat basissetup) ook makkelijk PHP scripts kan debuggen met Xdebug hé? Quasi elke IDE heeft daar ondersteuning voor en het is net iets makkelijker om stap voor stap door code te gaan (al dan niet dmv breakpoints).
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes


