- 7 modules/node/node.tpl.php
- 7 themes/garland/node.tpl.php
- 7 themes/bartik/templates/node.tpl.php
- 4.7 themes/bluemarine/node.tpl.php
- 4.7 themes/engines/phptemplate/node.tpl.php
- 4.7 themes/pushbutton/node.tpl.php
- 5 themes/bluemarine/node.tpl.php
- 5 themes/garland/node.tpl.php
- 5 themes/pushbutton/node.tpl.php
- 5 themes/engines/phptemplate/node.tpl.php
- 6 modules/node/node.tpl.php
- 6 themes/pushbutton/node.tpl.php
- 6 themes/bluemarine/node.tpl.php
- 6 themes/garland/node.tpl.php
Theme implementation to display a node.
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 format_date()).
- $links: Themed links like "Read more", "Add new comment", etc. output from theme_links().
- $name: Themed username of node author output from theme_username().
- $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 for zebra 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-in member.
- $is_admin: Flags true when the current user is an administrator.
See also
1 theme call to node.tpl.php
- node_view in modules/
node/ node.module - Generate a display of the given node.
File
modules/node/node.tpl.phpView source
- <?php
-
- /**
- * @file node.tpl.php
- *
- * Theme implementation to display a node.
- *
- * 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
- * format_date()).
- * - $links: Themed links like "Read more", "Add new comment", etc. output
- * from theme_links().
- * - $name: Themed username of node author output from theme_username().
- * - $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 for zebra 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-in member.
- * - $is_admin: Flags true when the current user is an administrator.
- *
- * @see template_preprocess()
- * @see template_preprocess_node()
- */
- ?>
- <div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?> clear-block">
-
- <?php print $picture ?>
-
- <?php if (!$page): ?>
- <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
- <?php endif; ?>
-
- <div class="meta">
- <?php if ($submitted): ?>
- <span class="submitted"><?php print $submitted ?></span>
- <?php endif; ?>
-
- <?php if ($terms): ?>
- <div class="terms terms-inline"><?php print $terms ?></div>
- <?php endif;?>
- </div>
-
- <div class="content">
- <?php print $content ?>
- </div>
-
- <?php print $links; ?>
- </div>
Comments
individual fields (cck)
Permalinkif you want control over individual fields:-
(probably best done in a
node-mycontenttype.tpl.phpfile)comment/delete
print $content;replace with
print $field_mycckfield_rendered;.(you can get the
field_mycckfieldfrom the 'Name' column in 'Manage Fields' page of your content type)- V
CCK templates
PermalinkActually, control over CCK fields can be gained using CCK's own templates. Copy content-field.tpl.php to your theme directory and copy it again for each field whose mark-up you wish to alter, naming it field-field_name.tpl.php.
So, if I have a field called field_my_field in CCK and I want to modify the mark-up for that field, I copy content-field.tpl.php to my theme directory and then make *another* copy named content-field-field_my_field.tpl.php. I can then change the mark-up in content-field-field_my_field.tpl.php and it will alter the output of that specific CCK field.
No need to touch node.tpl.php!
Field order
PermalinkBut what if what I need to do is not alter each field's individual output but rather change the order in which the fields are arranged inside the content?
Specifically, what I want to do is arrange my story nodes in this way:
1. title
2. main image (imagecache)
3. - teaser -
4. body
I figure this is a pretty common setup, but since the teaser is not treated as part of the content (neither in the template nor in contemplate), it's looking rather hard to insert it between two content fields without modifying node.tpl