function tabledrag_example_simple_form
Build the tabledrag_simple_example_form form.
Return value
array A form array set for theming by theme_tabledrag_example_simple_form()
Related topics
1 string reference to 'tabledrag_example_simple_form'
- tabledrag_example_menu in tabledrag_example/
tabledrag_example.module - Implements hook_menu().
File
-
tabledrag_example/
tabledrag_example_simple_form.inc, line 15
Code
function tabledrag_example_simple_form($form_state) {
// Identify that the elements in 'example_items' are a collection, to
// prevent Form API from flattening the array when submitted.
$form['example_items']['#tree'] = TRUE;
// Fetch the example data from the database, ordered by weight ascending.
//
// This query excludes the last two tabledrag_example database rows, as
// they are intended only for the 'parent/child' tabledrag examples.
$result = db_query('SELECT id, name, description, weight FROM {tabledrag_example} WHERE id < 8 ORDER BY weight ASC');
// Iterate through each database result.
foreach ($result as $item) {
// Create a form entry for this item.
//
// Each entry will be an array using the unique id for that item as
// the array key, and an array of table row data as the value.
$form['example_items'][$item->id] = array(
// We'll use a form element of type '#markup' to display the item name.
'name' => array(
'#markup' => check_plain($item->name),
),
// We'll use a form element of type '#textfield' to display the item
// description, which will allow the value to be changed via the form.
// We limit the input to 255 characters, which is the limit we set on
// the database field.
'description' => array(
'#type' => 'textfield',
'#default_value' => check_plain($item->description),
'#size' => 20,
'#maxlength' => 255,
),
// The 'weight' field will be manipulated as we move the items around in
// the table using the tabledrag activity. We use the 'weight' element
// defined in Drupal's Form API.
'weight' => array(
'#type' => 'weight',
'#title' => t('Weight'),
'#default_value' => $item->weight,
'#delta' => 10,
'#title_display' => 'invisible',
),
);
}
// Now we add our submit button, for submitting the form results.
//
// The 'actions' wrapper used here isn't strictly necessary for tabledrag,
// but is included as a Form API recommended practice.
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save Changes'),
);
return $form;
}