tripal_helper_form.module 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * taken from http://www.akchauhan.com/create-drupal-form-using-theme_table-like-module-list-form/
  4. * following as function theme_featured_product_form($form)
  5. *
  6. * to be run as a regular function, within a module's theme function implementation
  7. */
  8. function tripal_helper_form_themeform($form, $field_keys){
  9. $rows = array();
  10. foreach (element_children($form) as $key) {
  11. $row = array();
  12. if (isset($form[$key]['name'])) {
  13. $status = drupal_render($form['row_checkboxes'][$key]);
  14. $row[] = array(’data’ => $status, ‘class’ => ‘checkbox’);
  15. $bool_first = TRUE;
  16. foreach ($field_keys as $field_key => $value) {
  17. if($bool_first){
  18. $row[] = ‘‘. drupal_render($form[$key][$value]) .’‘;//for "bold style"
  19. $bool_first = FALSE;
  20. }
  21. else{
  22. $row[] = array(’data’ => drupal_render($form[$key][$value]),);
  23. }
  24. }
  25. $rows[] = $row;
  26. }
  27. }
  28. // Individual table headers.
  29. $header = array();
  30. $header[] = array(’data’ => t(’Select’), ‘class’ => ‘checkbox’);
  31. foreach ($field_keys as $key => $value) {
  32. $header[] = t("'$value'");
  33. }
  34. $output = theme(’table’, $header, $rows);
  35. $output .= drupal_render($form);
  36. dpm($output, 'formoutput');
  37. return $output;
  38. }
  39. function tripal_helper_form_createformdata($form, $query_results, $data_array){
  40. dpm($form, 'createform');
  41. dpm($query_results, 'createqeuryresults');
  42. dpm($data_array, 'createarray');
  43. // $status = array();
  44. $options = array();
  45. foreach ($query_results as $qr_key => $qr_value) {
  46. $options[$qr_key] = '';
  47. foreach ($data_array as $da_key => $da_value) {
  48. dpm($qr_value->$da_value, '$da_value');
  49. $form[$qr_key][$da_value] = array('#value' => $qr_value->$da_value);
  50. }
  51. // $status[] = '-1';
  52. }
  53. $form['row_checkboxes'] = array(
  54. '#type' => 'checkboxes',
  55. '#options' => $options,
  56. // '#default_value' => $status,
  57. );
  58. // $form['submit'] = array(
  59. // '#type' => 'submit',
  60. // '#value' => t('Remove'),
  61. // );
  62. //
  63. // $form['cancel'] = array(
  64. // '#type' => 'markup',
  65. // '#value' => l(t('Cancel'), 'dashboard'),
  66. // );
  67. return $form;
  68. }