Drupal 6-php Template Sheet


DRUPAL 6
 PHP TEMPLATE THEMING SHEET

Page.tpl.php Variables Node.tpl.php Variables

General utility variables
$base_path The base URL path of the Drupal installation.
At the very least, this will always default to /.
$css An array of CSS files for the current page.
$directory The directory the theme is located in, e.g.
themes/garland or themes/garland/minelli.
$is_front TRUE if the current page is the front page.
Used to toggle the mission statement.
$logged_in TRUE if the user is registered and signed in.
$is_admin TRUE if the user has permission to access
administration pages.

Page metadata
$language (object) The language the site is being
displayed in. $language->language contains
its textual representation. $language
contains the language direction.
be 'ltr' or 'rtl'.
$head_title A modified version of the page title, for use i
the TITLE tag.
$head Markup for the HEAD section (including meta
tags, keyword tags, and so on).
$styles Style tags necessary to import all CSS files for
the page.
$scripts Script tags necessary to load the JavaScript
files and settings for the page.
$body_classes A set of CSS classes for the BODY tag. This
contains flags indicating the current layout
(multiple columns, single column), the current
path, whether the user is logged in, and so
on.

Site identity
$front_page The URL of the front page. Use this instead of
$base_path, when linking to the front page.
This includes the language domain or prefix.
$logo The path to the logo image, as defined in
theme configuration.
$site_name The name of the site, empty when display has
been disabled in theme settings.
$site_slogan The slogan of the site, empty when display
has been disabled in theme settings.
$mission The text of the site mission, empty when
display has been disabled in

Navigation
$search_box HTML to display the search box, empty if
search has been disabled.
$primary_links
(array)

An array containing primary navigation links
for the site, if they have been configured.
$secondary_links
(array)

An array containing secondary navigation links
for the site, if they have been configured.

Page content (in order of occurrence in the default
page.tpl.php)

$left The HTML for the left sidebar.
$breadcrumb The breadcrumb trail for the current page.
$title The page title, for use in the actual HTML
content.
$help Dynamic help text, mostly for admin pages.
$messages HTML for status and error messages. Should
be displayed prominently.
$tabs Tabs linking to any sub-pages beneath the
current page (e.g., the view and edit tabs
when displaying a node).
$content The main content of the current Drupal page.
$right The HTML for the right sidebar.
Footer/closing data
$feed_icons A string of all feed icons for the current page.
$footer_message The footer message as
defined in the admin
settings.
$footer The footer region.
$closure Final closing markup from any modules that
have altered the page. This variable should
always be output last, after all other dynamic
content.
Common Template Files                 

Filename and Description:
[themename].info
(required)

Meta data, style sheets, JavaScripts, block
regions and more can be defined here.
page.tpl.php main template file, controls the display of
most content
template.php all the conditional logic and data processing
of the output
screenshot.png thumbnail screenshot of the theme
logo.png graphic file of the site's logo
node.tpl.php controls node display
block.tpl.php controls block display
comment.tpl.php controls comment display
box.tpl.php obscrure and rarely used
page-front.tpl.php used to display a custom front page
Available variables
$title the (sanitized) title of the node.
$content Node body or teaser depending on $teaser flag.
$picture The authors picture of the node output from
theme_user_picture().
$date Formatted creation date (use $created to
reformat with
$links Themed links like "Read more", "Add new
comment", etc. output from
$name Themed username of node author output from
theme_user().
$node_url Direct url of the current node.
$terms the themed list of taxonomy term links output
from theme_links
$submitted themed submission information output from
theme_node_submitted
Other variables
$node Full node object. Contains data that may not be
safe.
$type Node type, i.e. story, page, blog, etc.
$comment_count Number of comments attached to the node.
$uid User ID of the node author.
$created Time the node was published formatted in Unix
timestamp.
$zebra Outputs either "even" or "odd". Useful fo
striping in teaser listings.
$id Position of the node. Increments each time it's
output.
Node status variables
$teaser Flag for the teaser state.
$page Flag for the full page state.
$promote Flag for front page promotion state.
$sticky Flags for sticky post setting.
$status Flag for published status.
$comment State of comment settings for the node.
$readmore Flags true if the teaser content of the node
cannot hold the main body content.
$is_front Flags true when presented in the front page.
$logged_in Flags true when the current user is a logged
member.
$is_admin Flags true when the current user is an
administrator.
Comment.tpl.php Variables
api.drupal.org

Available variables
$author Comment author. Can be link or plain text.
$content Body of the post.
$date Date and time of posting.
$links Various operational links.
$new New comment marker.
$picture Authors picture.
$signature Authors signature.
$status Comment status. Possible values are
comment
comment
$submitted By line with date and time.
$title Linked title.
These two variables are provided for context.
$comment Full comment object.
$node Node object the comments are attached to.
Box.tpl.php Variables
api.drupal.org

Available variables
$title Box title.
$content Box content.
Block Template Files
block-[module]-[delta].tpl.php
block-[module].tpl.php
block-[region].tpl.php
block.tpl.php
URL Based Template Files
(http://drupal.org/node/190815)
(ex: http://www.example.com/node/1/edit)

page-node-edit.tpl.php
page-node-1.tpl.php
page-node.tpl.php
page.tpl.php
Nodetype Template Files (http://drupal.org/node/190815)
node-[nodetype].tpl.php
Page.tpl.php Code (http://api.drupal.org/api/file/modules/system/page.tpl.php/6/source)
adapted from: http://www.nerdliness.com/article/2007/09/10/drupal-theming
Head <head>
<title><?php print $head_title; ?></title>
<?php print $head; ?>
<?php print $styles; ?>
<?php print $scripts; ?>
<script type="text/javascript"><?php /* Needed to avoid Flash of Unstyled Content in IE */ ?> </script>
</head>
Search Box <?php if (!empty($search_box)): ?>
<?php print $search_box; ?>
<?php endif; ?>
Logo <?php if (!empty($logo)): ?>
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo">
<img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
</a>
<?php endif; ?>
Site Name <?php if (!empty($site_name)): ?>
<h1 id="site-name">
<a href="<?php print $front_page ?>" title="<?php print t('Home'); ?>" rel="home">
<span><?php print $site_name; ?></span>
</a>
</h1>
<?php endif; ?>
Site Slogan <?php if (!empty($site_slogan)): ?>
<?php print $site_slogan; ?>
<?php endif; ?>
Main Navigation <?php if (!empty($primary_links)): ?>
<?php print theme('links', $primary_links, array('class' => 'links primary-links')); ?>
<?php endif; ?>
Header Content <?php if (!empty($header)): ?>
<?php print $header; ?>
<?php endif; ?>
Left Sidebar <?php if (!empty($left)): ?>
<?php print $left; ?>
<?php endif; ?>
Right Sidebar <?php if (!empty($right)): ?>
<?php print $right; ?>
<?php endif; ?>
Main Content <?php if (!empty($title)): ?><h1 class="title" id="page-title"><?php print $title; ?>
</h1><?php endif; ?>
<?php if (!empty($tabs)): ?><div class="tabs"><?php print $tabs; ?></div><?php endif; ?>
<?php if (!empty($messages)): print $messages; endif; ?>
<?php if (!empty($help)): print $help; endif; ?>
<?php print $content; ?>
<?php print $feed_icons; ?>
Footer <?php print $footer_message; ?>
<?php if (!empty($footer)): print $footer; endif; ?>
Closing HTML <?php print $closure ?>
</body>
</html>
Reference Links:
Drupal 6 theme guide
How I converted my HTML template into a Drupal 6 theme
Theme developer module for Drupal 6 - Screencast
Overriding functions
Themeable functions
Assigning content to regions
Theming Views 2 – The Basics
Create A Base Style.css File
Default baseline variables (available to all template files)
Devel module
Back to top

1 comment: