Transcript
Page 1: New Adventures in Drupal Theming
Page 2: New Adventures in Drupal Theming

Designing for Drupal

! Overview of theDrupal Theming Layer

! Implementation Details

! Templates

! Preprocessors

! Base Themes

! Where to go for help

Page 3: New Adventures in Drupal Theming

Theming Example

Page 4: New Adventures in Drupal Theming

Theming Example

Page 5: New Adventures in Drupal Theming

More Zen Examples

Page 6: New Adventures in Drupal Theming

More Zen Examples

Page 7: New Adventures in Drupal Theming

More Zen Examples

Page 8: New Adventures in Drupal Theming

Drupal Design

Page 9: New Adventures in Drupal Theming

Drupal Design<?php print "with some PHP" ?>

Page 10: New Adventures in Drupal Theming

Drupal’s Theme Layer(the big picture)

Page 11: New Adventures in Drupal Theming

Example Theme

Page 12: New Adventures in Drupal Theming

Structure of page.tpl.php

Page 13: New Adventures in Drupal Theming

Structure of page.tpl.php

content

Search box .

CSS style sheets

TitleConditional Info

Page 14: New Adventures in Drupal Theming

Where do page.tpl.php variables come from?

Page 15: New Adventures in Drupal Theming

What do you need to know?

• Your theme doesn’t needall the templates

• You don’t need to learnall the variables

• Let Drupal’s architecture build parts of your theme

Page 16: New Adventures in Drupal Theming

Copy, Override, Modify

Templates and CSS are pulled from lower layers.

Unless they are overridden in your theme.

Page 17: New Adventures in Drupal Theming

modify variables using a function:[theme name]_preprocess_[hook]

e.g. example_preprocess_page

Preprocess Functions

Page 18: New Adventures in Drupal Theming

modify variables using a function:[theme name]_preprocess_[hook]

e.g. example_preprocess_page

Preprocess Functions

Put preprocess functions in your theme’s template.php

Page Variablemodifications

Node VariableAdditions

Page 19: New Adventures in Drupal Theming

What was the part in the middle?

http://drupal.org/theme-guide

Page 20: New Adventures in Drupal Theming

Base ThemesPowerful Frameworks for

Beginners and Power Users

Page 21: New Adventures in Drupal Theming

Benefits of Base Themes

• You don’t have to build everything yourself. Copy, override, and modify only what you need to.

• Bug fixes.Others can fix any bugs in the base theme.

• New features.For contrib Themes, there will occasionally be new features.

• Support.If you have modified an existing theme, sometimes the only answer you will get to your support question is “Well, it works fine in the original theme.”

• Rapid Theme Development.Many things are built for you.

Page 22: New Adventures in Drupal Theming

http://drupal.org/project/zen

Page 23: New Adventures in Drupal Theming

• Designed for beginners and Theming ninjas.

• Extensive on-line documentation.

• Step-by-step instructions on building your own sub-theme.

• Extensive in-line comments in its PHP and CSS files.

Why use Zen?

• It’s also got a laundry list of features. (which are exciting to use, but boring to list.)

• A fantastically flexible CSS Layout method(that even works with IE5.5.)

• You just met the developer.

Page 24: New Adventures in Drupal Theming

• Designed for beginners and Theming ninjas.

• Extensive on-line documentation.

• Step-by-step instructions on building your own sub-theme.

• Extensive in-line comments in its PHP and CSS files.

Why use Zen?

Page 25: New Adventures in Drupal Theming

Brief overview of Zen’s Layout method

• Source-ordered HTML: The importance of the pieces of content determines the order in HTML, and not the graphic design.

• Flexible layout options:

• Fluid (100% width) or fixed-width layout

• Optional horizontal navbar

• 1-3 columns built-in. More columns are possible without mind-bending contortions.

• Zen’s default Layout Method is completely pluggable. If you don’t like it, just replace the layout.css file with your own layout method: YUI, YAML, Jello Mold, Holy Grail, etc.

Page 26: New Adventures in Drupal Theming

Brief overview of Zen’s Layout method

• Source-ordered HTML: The importance of the pieces of content determines the order in HTML, and not the graphic design.

• Flexible layout options:

• Fluid (100% width) or fixed-width layout

• Optional horizontal navbar

• 1-3 columns built-in. More columns are possible without mind-bending contortions.

• Zen’s default Layout Method is completely pluggable. If you don’t like it, just replace the layout.css file with your own layout method: YUI, YAML, Jello Mold, Holy Grail, etc.

Page 27: New Adventures in Drupal Theming

Brief overview of Zen’s Layout method

• Source-ordered HTML: The importance of the pieces of content determines the order in HTML, and not the graphic design.

• Flexible layout options:

• Fluid (100% width) or fixed-width layout

• Optional horizontal navbar

• 1-3 columns built-in. More columns are possible without mind-bending contortions.

• Zen’s default Layout Method is completely pluggable. If you don’t like it, just replace the layout.css file with your own layout method: YUI, YAML, Jello Mold, Holy Grail, etc.

Page 28: New Adventures in Drupal Theming

( These blocks have float: left; )

Negative Margins(and positive results)

Page 29: New Adventures in Drupal Theming

( These blocks have float: left; )

Negative Margins(and positive results)

Page 30: New Adventures in Drupal Theming

( These blocks have float: left; )

Negative Margins(and positive results)

Page 31: New Adventures in Drupal Theming

( These blocks have float: left; )

Negative Margins(and positive results)

Page 32: New Adventures in Drupal Theming

( These blocks have float: left; )

Negative Margins(and positive results)

Page 33: New Adventures in Drupal Theming

( These blocks have float: left; )

Negative Margins(and positive results)

Page 34: New Adventures in Drupal Theming

Getting Helphttp://drupal.org/theme-guidehttp://drupal.org/project/zenhttp://drupal.org/irc

#drupal-design#drupal-themes#drupal-support#drupal

Ask Questions!


Top Related