1

I have a module, which includes multistep form. I decided to make one of these steps work like this: free times per employee are rendered as html elements, and when element is clicked, Javascript will apply the value to hidden input field.

So I found this tutorial: http://drupal.org/node/1092122 but it didn't work for me, maybe I made a error, maybe not.

My module name is reservation. My template file is named reservation_select_time_week_page.tpl.php and its in the reservation/theme folder.

I have these functions:

function reservation_theme() {
  // basic things
  $module_path = drupal_get_path('module', 'reservation');
  $base = array(
      'path' => "$module_path/theme",
  );

  // define themes
  return array(
      'reservation_select_time_form' => $base + array(
          'render element' => 'form',
          'template' => 'reservation_select_time_week_page',
      ),
  );
}

function template_preprocess_reservation_select_time_week_page(&$variables) {
  echo "this works!";
}

function template_preprocess_select_time_form(&$variables) {
  echo "this works!";
}

I dont know which of those preprocess functions is right (should it be named based on template name or form id?

Anyhow, custom template is not applying.

I also have tried using the:

$form['start_time'] => array('#theme' => 'reservation_select_time_week_page');

I got it working, so that the static html is rendered in template file, but I dont know how I can render the form elements in template file. Using:

drupal_render($form)

caused the form to go infinite loop I think.

Is Drupal even able to handle complex forms and form layouts?

Mason
  • 35
  • 2
  • 6

0 Answers0