If I want to loop through multiple sets of theme variables in my custom theme template, how do I define them in my theme function and pass them to hook_theme?
For instance, in my case, I’m generating an email body to send via drupal_mail(), and the body will contain a list of spa openings. I want to iterate through each set in the mail (the same way views templates iterate over views rows). I have my theme function defined like so:
/** * Implements hook_theme(). */ function my_module_theme($existing, $type, $theme, $path) { return array( 'my_module_mail' => array( 'variables' => array( 'service_name' => NULL, 'time' => NULL, 'therapist' => NULL, 'booking_link' => NULL, ), 'template' => 'templates/my-module-mail', ), ); }
and I can pass one set of variables to the template just fine like so:
foreach ($available_openings[$tid['tid']] as $mail_opening) { $variables = $mail_opening; $body = theme('my_module_mail', $variables); }
but what I want to do is pass an array of the variables array so that in my template can do something like this:
<?php foreach ($openings as $id => $opening): ?> <div class="<?php print $classes_array[$id]; ?>"> <?php print $opening; ?> </div> <?php endforeach; ?>
What do I need to change to do that?
Thanks.