nanocon taiwan

35
Drupal 6 Theming John Albin Wilkins Drupal.org : JohnAlbin Twitter.com : @johnalbin

Upload: john-albin-wilkins

Post on 15-Jun-2015

5.444 views

Category:

Technology


4 download

DESCRIPTION

Introduction to Drupal Theming and Zen

TRANSCRIPT

Page 1: Nanocon Taiwan

Drupal 6 ThemingJohn Albin Wilkins

Drupal.org : JohnAlbin Twitter.com : @johnalbin

Page 2: Nanocon Taiwan

Designing for Drupal

! Overview of theDrupal Theming Layer

! Implementation Details

! Templates

! Preprocessors

! Base Themes

! Where to go for help

Page 3: Nanocon Taiwan

Theming Example

Page 4: Nanocon Taiwan

Theming Example

Page 5: Nanocon Taiwan

More Zen Examples

Page 6: Nanocon Taiwan

More Zen Examples

Page 7: Nanocon Taiwan

More Zen Examples

Page 8: Nanocon Taiwan

Drupal Design

Page 9: Nanocon Taiwan

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

Page 10: Nanocon Taiwan

Drupal’s Theme Layer(the big picture)

Page 11: Nanocon Taiwan

Example Theme

Page 12: Nanocon Taiwan

Structure of page.tpl.php

Page 13: Nanocon Taiwan

Structure of page.tpl.php

content

Search box .

CSS style sheets

TitleConditional Info

Page 14: Nanocon Taiwan

Where do page.tpl.php variables come from?

Page 15: Nanocon Taiwan

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: Nanocon Taiwan

Copy, Override, Modify

Templates and CSS are pulled from lower layers.

Unless they are overridden in your theme.

Page 17: Nanocon Taiwan

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

e.g. example_preprocess_page

Preprocess Functions

Page 18: Nanocon Taiwan

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: Nanocon Taiwan

What was the part in the middle?

http://drupal.org/theme-guide

Page 20: Nanocon Taiwan

Base ThemesPowerful Frameworks for

Beginners and Power Users

Page 21: Nanocon Taiwan

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: Nanocon Taiwan

http://drupal.org/project/zen

Page 23: Nanocon Taiwan

• 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 24: Nanocon Taiwan

• 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: Nanocon Taiwan

• 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.)

• The developer lives in Taiwan.

Page 26: Nanocon Taiwan

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: Nanocon Taiwan

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: Nanocon Taiwan

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 29: Nanocon Taiwan

( These blocks have float: left; )

Negative Margins(and positive results)

Page 30: Nanocon Taiwan

( These blocks have float: left; )

Negative Margins(and positive results)

Page 31: Nanocon Taiwan

( These blocks have float: left; )

Negative Margins(and positive results)

Page 32: Nanocon Taiwan

( These blocks have float: left; )

Negative Margins(and positive results)

Page 33: Nanocon Taiwan

( These blocks have float: left; )

Negative Margins(and positive results)

Page 34: Nanocon Taiwan

( These blocks have float: left; )

Negative Margins(and positive results)

Page 35: Nanocon Taiwan

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

#drupal-themes#drupal-support#drupal

Ask Questions!