Use your business data to your advantage with the help of Syncfusion’s new data science offerings. Discover how a custom big data solution can provide your company with valuable predictions about key market trends.

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.

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

Karthik Kumar

Karthik Kumar is a Drupal developer residing in Chennai, India. He first came across Drupal in late 2004 and has been a fan ever since. He maintains a number of modules on http://drupal.org under the moniker Zen – http://drupal.org/user/21209.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.