3. About this talk
●
There are a lot of theme snippets available in the Theme Guide. There
is not, however, a lot of information about PHP which is the language
that makes up these snippets. If you're tired of copying, pasting and
praying and are ready to understand some of the magic behind those
snippets, this session is for you!
●
In this session you will learn how to manipulate and master:
●
The very, very basics of PHP and the popular theming engine
PHPtemplate
●
Variables and tpl.php template files
●
Arrays and objects and other crowbarworthy data containers.
●
The really scary looking stuff that's in the mysterious file
template.php
●
Examples will be pulled from the Drupal.org Theme Guide as well as
the wildly successful book on theming, Front End Drupal (coauthored
by Emma Jane and Konstantin Kaefer).
14. Contents of variables
exist inside their containers
http://www.laboutiquedupetitprince.com/en/figures56/pixi81/pixifigurethelittle
princesheepbox518.html
25. PHPtemplate
Decide on the dance
Choose your clothes Dance the dance
http://www.kodakgallery.com/Slideshow.jsp?mode=fromshare&Uc=6m9np57.9mj7q0yf&Uy=ripni&Ux=0
26. PHPtemplate
Collect the content from
Drupal using modules Run through the Print the variables
Drupal theme in your template
functions & your files
custom theme layer
http://www.kodakgallery.com/Slideshow.jsp?mode=fromshare&Uc=6m9np57.9mj7q0yf&Uy=ripni&Ux=0
27. How to create themes
1.Download an existing theme.
2.Look for variables and functions.
3.Alter the placement of the “printed” things.
4.Save and upload the theme files.
5.Clear the theme registry (Drupal admin).
6.Enjoy your new theme.
36. tpl.php files
●
Look for basic files:
●
/modules
●
Download Zen.
●
Download Root Candy.
●
Copy tpl.php files into your theme's folder.
●
Manipulate them.
37. Even more tpl.php files
●
www.example.com/node/5
●
pagenode5.tpl.php
●
pagenode.tpl.php
●
page.tpl.php
●
http://www.informit.com/articles/article.aspx?p=1336146
38. Conditionals
if (you're the inside couple) {
go clockwise
}
} else {
go counter clockwise.
}
http://www.dehnbase.org/sd/tutorial/counterrotate.php?p=4
51. Homework
●
Read a snippet and imagine, sketch,
visualize what it does.
http://drupal.org/node/45471
52. template.php: sup with that?
●
Preparing variables that weren't assembled by
Drupal and its modules.
●
Altering the contents of variables that were
prepared by Drupal and its modules.
●
Special theming functions to do fun things like
'edit this block' links and random images.
●
Read the Zen base theme documentation and
template.php file.
53. Using template.php
Collect the content from
Drupal using modules Create new Print the variables
and run it through the information to feed in your template
default theme functions to your theme files
provided by Drupal.
http://www.kodakgallery.com/Slideshow.jsp?mode=fromshare&Uc=6m9np57.9mj7q0yf&Uy=ripni&Ux=0
59. Homework
●
Download and dissect the Zen Theme
●
http://drupal.org/project/zen
●
Read Chapter 4 of Front End Drupal
●
http://www.informit.com/articles/article.aspx?p=1336146
●
Imagine why you'd want a new template
variable.
●
Create a preprocess function.
60. In short.....PHP theming essentials:
● PHP is a linear “programming” language, just like a
dance.
● PHP stores information in variables and actions in
functions.
● Sometimes variables hold lots of information in
special variables called “arrays” and objects.
● PHP and Drupal both have functions.
● Drupal has lots of magic variables that are loaded
with content. Check out: http://drupal.org/theme
guide
65. Conditionals
if (you're the inside couple) {
go clockwise
}
} else {
go counter clockwise.
}
http://www.dehnbase.org/sd/tutorial/counterrotate.php?p=4
66. Snippets &
Variables
●
Create a library.
●
Use a base theme.
●
Beg, borrow, steal snippets. GPL 'em and
give 'em back to the community.