Drupal Advanced Theming  DrupalCamp Estonia      Kaido Toomingas       14.June 2012
Problem●   You need more than Drupal theme can offer you out of box●   You dont need some stuff wich Drupal offers You out...
Solutions●   Lets just put this into templates ;) What does Your designer would    say?●   What should I do then?●   Templ...
How can I implement this?●   Hooks? Examples...?●   TEMPLATE_preprocess(&$variables, $hook)●   HOOK_form_alter(&$form, &$f...
HooksHooks in drupal are functionswich will help you to change orextend default functionality.
Preprocess●       TEMPLATE_preprocess(&$variables, $hook)●       TEMPLATE_preprocess_HOOK(&$variables)●   Manipulate or cr...
Modify forms●       HOOK_form_alter(&$form, &$form_state, $form_id)●       hook_form_FORM_ID_alter    ●   Change existing ...
Theme some data●   theme($hook, $variables = array())●   Usecase: You want to create a table, image or some other element ...
hook_theme_registry_alter()●   This is the most powerful themer helper wich should be used only    when cant find any way ...
Advanced theming
Upcoming SlideShare
Loading in …5
×

Advanced theming

833 views
778 views

Published on

Published in: Technology, Travel
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
833
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Advanced theming

  1. 1. Drupal Advanced Theming DrupalCamp Estonia Kaido Toomingas 14.June 2012
  2. 2. Problem● You need more than Drupal theme can offer you out of box● You dont need some stuff wich Drupal offers You out of box
  3. 3. Solutions● Lets just put this into templates ;) What does Your designer would say?● What should I do then?● Template.php● Custom module
  4. 4. How can I implement this?● Hooks? Examples...?● TEMPLATE_preprocess(&$variables, $hook)● HOOK_form_alter(&$form, &$form_state, $form_id)● theme($hook, $variables = array())● THEMEHOOK_settings() in theme-settings.php● THEMENAME_form_system_theme_settings_alter(&$form, $form_state)● hook_theme_registry_alter()
  5. 5. HooksHooks in drupal are functionswich will help you to change orextend default functionality.
  6. 6. Preprocess● TEMPLATE_preprocess(&$variables, $hook)● TEMPLATE_preprocess_HOOK(&$variables)● Manipulate or create variables. Example page variables. You can add these into template.php. Example: function template_preprocess_foo(&$variables) { $variables[foo_list] = array( list item 1, list item 2, list item 3, ); }
  7. 7. Modify forms● HOOK_form_alter(&$form, &$form_state, $form_id)● hook_form_FORM_ID_alter ● Change existing form elements by changing or adding some arrays. ● Create new form elements – There is better way.Example:function example_form_alter(&$form, &$form_state, $form_id) { dsm($form_id); // print form ID to messages You need develmodule switched for using dsm() function dsm($form); // pretty print array using Krumo to messages}
  8. 8. Theme some data● theme($hook, $variables = array())● Usecase: You want to create a table, image or some other element from you data. You should use theme function for that.● Usage: Can be used in template.php or custom modules. Example: theme(table, array( header => $header, rows => $options, attributes => array(class => array(mytable)) ));
  9. 9. hook_theme_registry_alter()● This is the most powerful themer helper wich should be used only when cant find any way to change your theme.● You can use this when there is module wich doesnt have proper theme fuctions wich could be overwritten.

×