Drupal 6 Theming Cookbook

Over 100 clear step-by-step recipes to create powerful, great-looking Drupal themes

Drupal 6 Theming Cookbook

Cookbook
Karthik Kumar

Over 100 clear step-by-step recipes to create powerful, great-looking Drupal themes
$26.99
$44.99
RRP $26.99
RRP $44.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free sample

Book Details

ISBN 139781847198686
Paperback384 pages

About This Book

  • Take control of the look and feel of your Drupal website
  • Tips and tricks to get the most out of Drupal's theming system
  • Learn how to customize existing themes and create unique themes from scratch
  • Part of Packt's Cookbook series: Each recipe is a carefully organized sequence of instructions to complete the task as efficiently as possible

Who This Book Is For

This book is written for Drupal developers who want to refresh the look and feel of their sites. If you are a Drupal site administrator who is looking to go beyond the basics and customize the presentational aspects of your Drupal site, then this book is for you. It assumes that readers are familiar with rudimentary PHP and acquainted with Drupal installation and general usage. Readers are also expected to have knowledge of CSS and XHTML.

Table of Contents

Chapter 1: Drupal Theme Basics
Introduction
Installing and enabling a theme
Uploading a new logo
Uploading a new favicon
Adding a slogan to the theme
Allowing users to choose from multiple themes
Displaying a different theme for administration
Adding an existing block to the theme
Adding a custom block to the theme
Displaying a block only on the front page
Controlling block visibility based on user role
Controlling block visibility based on node type
Chapter 2: Beyond the Basics
Introduction
Understanding the anatomy of a theme
Creating a sub-theme based on a core theme
Overriding base theme elements in a sub-theme
Changing the screenshot image of a theme
Including a CSS file in a theme
Enabling CSS optimization
Creating the mysite module to hold our tweaks
Adding a CSS file from a module
Displaying a different theme for each day of the week
Creating a fresh look using the color module
Chapter 3: Custom Themes and Zen
Introduction
Clearing the theme registry
Creating a theme from scratch
Creating myzen, a Zen-based theme
Choosing a CSS layout for myzen
Overriding Zen template files with myzen
Adding a custom region to myzen
Adding a background image to the theme
Adding a conditional stylesheet in Zen
Modifying myzen's theme settings
Chapter 4: Templating Basics
Introduction
Changing the layout of a page using page.tpl.php
Customizing the appearance of a particular node type
Customizing the appearance of a specific node
Theming made easy using the Devel module
Theme overrides using the Theme developer module
Listing all available variables in a template file
Displaying the profile name instead of a username
Styling the site maintenance page
Chapter 5: Development and Debugging Tools
Introduction
Finding the right function to use to theme an object
Analyzing variables using the Devel module
Generating sample content using the Devel generate module
Resetting the default theme manually
Live preview with Web Developer
Validating HTML and CSS using Web Developer
Turning off JavaScript in the browser
Disabling CSS in the browser
Inspecting elements and debugging CSS using Firebug
Diagnostic logging of JavaScript using Firebug
Chapter 6: Advanced Templating
Introduction
Adding a variable to all node templates
Deleting a variable from the page template
Adding a custom theme setting
Hiding all regions on a page
Displaying the last updated date instead of the submitted date
Module-based variable manipulation
Optimizing using hook_preprocess()
Displaying the date field in calendar form
Chapter 7: JavaScript in Themes
Introduction
Including JavaScript files from a theme
Including a JavaScript file only for certain pages
Giving the username textfield keyboard focus
Exporting a variable from PHP to JavaScript
Adding default text to the search textfield
Displaying comments in compact form
Adding column-sort functionality to tables
Minimizing and maximizing blocks using JavaScript
Chapter 8: Navigation
Introduction
Adding a menu to our theme
Adding content pages to the menu
Styling the primary links menu
Contextual submenus using the Menu module
Adding a drop-down navigation menu
Customizing breadcrumbs in Zen-based themes
Hiding node links using CSS
Styling all external links in a page
Styling the Drupal pager
Chapter 9: Form Design
Introduction
Finding the form ID of a form
Changing the height of a textarea
Turning off the resize feature for textareas
Replacing Drupal's textareas with a WYSIWYG HTML editor
Reordering fields in a form
Replacing a standard submit button with an image button
Styling the comment form
Using a fieldset to group fields
Theming form elements
Adding class attributes to form elements
Chapter 10: Customizing CCK
Introduction
Creating a custom node type
Hiding fields and labels during display
Displaying fields together using field groups
Theming CCK content using hook_nodeapi()
Theming a CCK field using a template file
Adding image support using the ImageField module
Using ImageCache to scale and crop images on the fly
Adding lightbox support for images
Chapter 11: Views Theming
Introduction
Creating a simple view
Styling a node listing using a grid display
Merging columns with the Views table style plugin
Embedding a view inside a node template
Overriding the Views table style plugin
Adding a class to a Views style
Creating a custom Views style plugin
Chapter 12: Rapid Layouts with Panels
Introduction
Using Panels to create a front-page layout
Embedding content in a panel
Styling a panel with rounded corners
Creating custom styles with the Panel stylizer module
Changing the layout of a panel
Creating a custom panel layout
Replacing the site contact page with a panel
Embedding tabbed panels in blocks

What You Will Learn

  • Beef up your knowledge of the basics of Drupal theming such as installing and enabling a downloaded theme, changing the logo, and adding a slogan to the theme
  • Customize the look of your website by configuring and extending your existing themes with sub-themes
  • Create custom themes from scratch for websites that demand a fresh look
  • Use the PHPTemplate theming engine to override module output and style it using a theme
  • Style and manipulate the content of your website by adding CSS and JavaScript files via themes and modules
  • Use the ImageCache module to manipulate images on the fly
  • Jazz up the design of your site by incorporating JavaScript elements
  • Make your Drupal site stand out from the crowd by customizing Views via the theme layer
  • Design complex site layouts rapidly with Panels
  • Speed-up development and debugging with Drupal tools such as the Devel module
  • Customize your Drupal site in a creative style by making thorough use of Drupal's APIs

 

In Detail

Themes are among the most powerful features that can be used to customize a website to fit your needs. The greatest strength of Drupal lies in its design, which, when done right, allows developers to customize every aspect of the site. Although it might sound easy to customize the look of your site, it's not a cakewalk to build custom themes that are easy to administer and maintain.

Drupal 6 Theming Cookbook provides a plethora of recipes that enable Drupal template designers to make full use of Drupal's extensibility and style their site just the way they want it. It is a well-rounded guide, which will allow users looking to theme their Drupal sites to do so by taking full advantage of Drupal's theming system. It covers numerous aspects from creating custom themes to using the powerful CCK, Views, and Panels modules to create rich designs that are easy to administer and maintain.

Structured as a collection of recipes to perform a wide variety of tasks, this book will guide readers through most important aspects of Drupal theming. It starts off with recipes dealing with the basics of Drupal's theme system: you will find recipes for solving all your problems with 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 the content that is output on a page. A substantial number of recipes are dedicated to Drupal's template system, which will provide you with a solid foundation in order to override the output of Drupal and contributed modules. Furthermore, as the combination of modules such as CCK, Views, and Panels is so widely prevalent, chapters have been dedicated for each of these modules. With this book, you'll learn to get the most out of Drupal's templating system and its modules to create rich designs for your site.

Authors

Table of Contents

Chapter 1: Drupal Theme Basics
Introduction
Installing and enabling a theme
Uploading a new logo
Uploading a new favicon
Adding a slogan to the theme
Allowing users to choose from multiple themes
Displaying a different theme for administration
Adding an existing block to the theme
Adding a custom block to the theme
Displaying a block only on the front page
Controlling block visibility based on user role
Controlling block visibility based on node type
Chapter 2: Beyond the Basics
Introduction
Understanding the anatomy of a theme
Creating a sub-theme based on a core theme
Overriding base theme elements in a sub-theme
Changing the screenshot image of a theme
Including a CSS file in a theme
Enabling CSS optimization
Creating the mysite module to hold our tweaks
Adding a CSS file from a module
Displaying a different theme for each day of the week
Creating a fresh look using the color module
Chapter 3: Custom Themes and Zen
Introduction
Clearing the theme registry
Creating a theme from scratch
Creating myzen, a Zen-based theme
Choosing a CSS layout for myzen
Overriding Zen template files with myzen
Adding a custom region to myzen
Adding a background image to the theme
Adding a conditional stylesheet in Zen
Modifying myzen's theme settings
Chapter 4: Templating Basics
Introduction
Changing the layout of a page using page.tpl.php
Customizing the appearance of a particular node type
Customizing the appearance of a specific node
Theming made easy using the Devel module
Theme overrides using the Theme developer module
Listing all available variables in a template file
Displaying the profile name instead of a username
Styling the site maintenance page
Chapter 5: Development and Debugging Tools
Introduction
Finding the right function to use to theme an object
Analyzing variables using the Devel module
Generating sample content using the Devel generate module
Resetting the default theme manually
Live preview with Web Developer
Validating HTML and CSS using Web Developer
Turning off JavaScript in the browser
Disabling CSS in the browser
Inspecting elements and debugging CSS using Firebug
Diagnostic logging of JavaScript using Firebug
Chapter 6: Advanced Templating
Introduction
Adding a variable to all node templates
Deleting a variable from the page template
Adding a custom theme setting
Hiding all regions on a page
Displaying the last updated date instead of the submitted date
Module-based variable manipulation
Optimizing using hook_preprocess()
Displaying the date field in calendar form
Chapter 7: JavaScript in Themes
Introduction
Including JavaScript files from a theme
Including a JavaScript file only for certain pages
Giving the username textfield keyboard focus
Exporting a variable from PHP to JavaScript
Adding default text to the search textfield
Displaying comments in compact form
Adding column-sort functionality to tables
Minimizing and maximizing blocks using JavaScript
Chapter 8: Navigation
Introduction
Adding a menu to our theme
Adding content pages to the menu
Styling the primary links menu
Contextual submenus using the Menu module
Adding a drop-down navigation menu
Customizing breadcrumbs in Zen-based themes
Hiding node links using CSS
Styling all external links in a page
Styling the Drupal pager
Chapter 9: Form Design
Introduction
Finding the form ID of a form
Changing the height of a textarea
Turning off the resize feature for textareas
Replacing Drupal's textareas with a WYSIWYG HTML editor
Reordering fields in a form
Replacing a standard submit button with an image button
Styling the comment form
Using a fieldset to group fields
Theming form elements
Adding class attributes to form elements
Chapter 10: Customizing CCK
Introduction
Creating a custom node type
Hiding fields and labels during display
Displaying fields together using field groups
Theming CCK content using hook_nodeapi()
Theming a CCK field using a template file
Adding image support using the ImageField module
Using ImageCache to scale and crop images on the fly
Adding lightbox support for images
Chapter 11: Views Theming
Introduction
Creating a simple view
Styling a node listing using a grid display
Merging columns with the Views table style plugin
Embedding a view inside a node template
Overriding the Views table style plugin
Adding a class to a Views style
Creating a custom Views style plugin
Chapter 12: Rapid Layouts with Panels
Introduction
Using Panels to create a front-page layout
Embedding content in a panel
Styling a panel with rounded corners
Creating custom styles with the Panel stylizer module
Changing the layout of a panel
Creating a custom panel layout
Replacing the site contact page with a panel
Embedding tabbed panels in blocks

Book Details

ISBN 139781847198686
Paperback384 pages
Read More