Chapter
- The Core Themes Directory
- Core Themes
- Theme Engines
- Test Themes
- Theme Administration
- Enabling and Setting a Default Theme
- Theme Settings
- Installing a New Theme
- Administration Theme
- Defining Theme Metadata (.info Files)
- Required Properties
- Additional Properties
- Create Your First Theme!
- Working with Regions
- Default Regions
- Hidden Regions
- Module-specific Regions
- Regions and Your Theme
- Using Regions vs. Hard Coding in Template Files
- Layout Strategies
- Creating New Regions
- Template Files
- Common Core Templates
- Overriding Template Files
- Template Variables
- Default Template Variables
- HTML Attributes
- Render Arrays
- A Detailed Look at page.tpl.php
- Theme Functions
- Common Theme Functions
- Overriding Theme Functions
- Theme Hooks & Theme Hook Suggestions
- What is a theme hook?
- Theme Hook Suggestions
- Suggestions and Template Files
- Suggestions and Theme Functions
- Preprocess and Process Functions
- Preprocess or Process
- Changing Existing variables
- Creating Custom Variables
- Managing CSS Files
- Aggregation and Compression
- Patterns and Naming Conventions
- Adding, Removing and Replacing CSS Files
- Managing Stylesheets in Your Theme
- Theming Forms
- Using Form Alter
- Using Preprocess Functions
- Creating Template Files for Forms
- Adding Alternate Suggestions for Theme Functions
- Working with Base and Sub-themes
- Why use a base theme
- Inheritance and How it Works
- Finding a Good Base Theme
- Theme Settings
- Functions Every Themer Should Know
- Working with URL's
- Translatable Strings
- Filtering Output
- Formatting
- HTML Attributes
- File Paths
- Sustainability and Best Practices
- Start With a Good Base
- Override Template Files with Purpose
- Do My Changes Belong in a Module?
- Leverage Default CSS Classes
Example theme files from the chapter available at Jacine's GitHub (read more about it).