Community Documentation

Theming forms in your theme

Last updated February 22, 2012. Created by Oliver Huynh on June 26, 2011.
Edited by TuWebO, fago, andyceo, malcomio. Log in to edit this page.

An example about how to theme Drupal Commerce Check Out form:

template.php

<?php
/**
* Implements hook_theme().
*/
function yourtheme_theme($existing, $type, $theme, $path) {
 
$base = array(
   
'render element' => 'form',
   
'path' => drupal_get_path('theme', 'yourtheme') . '/templates/forms',
  );

  return array(
   
'commerce_checkout_form_checkout' => $base + array(
     
'template' => 'commerce-checkout-form-checkout',
    ),
  );
}

/**
* Preprocessor for commerce_checkout_form_checkout theme.
*/
function yourtheme_preprocess_commerce_checkout_form_checkout(&$variables) {
 
/* Add or modify your variables */
}
?>

[yourtheme]/templates/forms/commerce-checkout-form-checkout.tpl.php

<?php
 
// Render or hide parts of $form: var_export($form);
  // Example given:
 
hide($form['title']);
  print
render($form['first']);
 
// Render remaining form elements as usual.
 
print drupal_render_children($form);
?>

Don't forget clearing the theme registry cache.

nobody click here