Book Image

Drupal 7 Theming Cookbook

By : Karthik Kumar
Book Image

Drupal 7 Theming Cookbook

By: Karthik Kumar

Overview of this book

<p>The greatest strength of Drupal lies in its design which, when employed correctly, allows developers to literally handcraft every aspect of a site, so that it looks and performs exactly how they want it to. While it is reasonably straightforward to download a Drupal theme and install it, doing anything beyond that is not. Using custom themes requires familiarity and experience with Drupal's theming system, especially if you want to easily administer and maintain your themes.</p> <p>Drupal 7 Theming Cookbook provides a plethora of recipes that enable Drupal template designers to make full use of its extensibility and style their site just the way they want it. It is a well-rounded guide which will allow users to take full advantage of Drupal's theming system.</p> <p>This cookbook starts with recipes which address the basics of Drupal's theme system, including regions and blocks. It then moves on to advanced topics such as creating a custom theme and using it to modify the layout and style of content. With the introduction of the Field API and the growing importance of Views and Panels in Drupal 7, chapters have been dedicated to each feature. You will also learn many techniques for dealing with Drupal&rsquo;s templating system, which will allow you create themes which surpass even the existing Drupal and contributed modules.</p>
Table of Contents (18 chapters)
Drupal 7 Theming Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Displaying a different theme for each day of the week


This recipe demonstrates how we can go about controlling the theme being used to render a page from within a module. As an example, we will be adding the code that allows the rotation of themes based on the day of the week.

Getting ready

As we have seen in other recipes in this chapter, a number of sites use an "odds and ends" module to handle tweaks and customizations particular to the site. We will be using the mysite.module created earlier in this chapter to hold our customizations. It is assumed that the module is available and already enabled.

How to do it...

Open the mysite.module file and paste the following code in it:

/**
* Implements hook_custom_theme().
*/
function mysite_custom_theme() {
// An array of themes for each day of the week.
// These themes have to be installed and enabled.
$themes = array();
$themes[0] = 'garland';
$themes[1] = 'bartik';
$themes[2] = 'stark';
$themes[3] = 'seven';
$themes[4] = 'mytheme';
$themes...