Projet

Général

Profil

Paste
Télécharger (5,24 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / themes / bootstrap / templates / node / node.tpl.php @ 0939d55c

1
<?php
2
/**
3
 * @file
4
 * Default theme implementation to display a node.
5
 *
6
 * Available variables:
7
 * - $title: the (sanitized) title of the node.
8
 * - $content: An array of node items. Use render($content) to print them all,
9
 *   or print a subset such as render($content['field_example']). Use
10
 *   hide($content['field_example']) to temporarily suppress the printing of a
11
 *   given element.
12
 * - $user_picture: The node author's picture from user-picture.tpl.php.
13
 * - $date: Formatted creation date. Preprocess functions can reformat it by
14
 *   calling format_date() with the desired parameters on the $created variable.
15
 * - $name: Themed username of node author output from theme_username().
16
 * - $node_url: Direct URL of the current node.
17
 * - $display_submitted: Whether submission information should be displayed.
18
 * - $submitted: Submission information created from $name and $date during
19
 *   template_preprocess_node().
20
 * - $classes: String of classes that can be used to style contextually through
21
 *   CSS. It can be manipulated through the variable $classes_array from
22
 *   preprocess functions. The default values can be one or more of the
23
 *   following:
24
 *   - node: The current template type; for example, "theming hook".
25
 *   - node-[type]: The current node type. For example, if the node is a
26
 *     "Blog entry" it would result in "node-blog". Note that the machine
27
 *     name will often be in a short form of the human readable label.
28
 *   - node-teaser: Nodes in teaser form.
29
 *   - node-preview: Nodes in preview mode.
30
 *   The following are controlled through the node publishing options.
31
 *   - node-promoted: Nodes promoted to the front page.
32
 *   - node-sticky: Nodes ordered above other non-sticky nodes in teaser
33
 *     listings.
34
 *   - node-unpublished: Unpublished nodes visible only to administrators.
35
 * - $title_prefix (array): An array containing additional output populated by
36
 *   modules, intended to be displayed in front of the main title tag that
37
 *   appears in the template.
38
 * - $title_suffix (array): An array containing additional output populated by
39
 *   modules, intended to be displayed after the main title tag that appears in
40
 *   the template.
41
 *
42
 * Other variables:
43
 * - $node: Full node object. Contains data that may not be safe.
44
 * - $type: Node type; for example, story, page, blog, etc.
45
 * - $comment_count: Number of comments attached to the node.
46
 * - $uid: User ID of the node author.
47
 * - $created: Time the node was published formatted in Unix timestamp.
48
 * - $classes_array: Array of html class attribute values. It is flattened
49
 *   into a string within the variable $classes.
50
 * - $zebra: Outputs either "even" or "odd". Useful for zebra striping in
51
 *   teaser listings.
52
 * - $id: Position of the node. Increments each time it's output.
53
 *
54
 * Node status variables:
55
 * - $view_mode: View mode; for example, "full", "teaser".
56
 * - $teaser: Flag for the teaser state (shortcut for $view_mode == 'teaser').
57
 * - $page: Flag for the full page state.
58
 * - $promote: Flag for front page promotion state.
59
 * - $sticky: Flags for sticky post setting.
60
 * - $status: Flag for published status.
61
 * - $comment: State of comment settings for the node.
62
 * - $readmore: Flags true if the teaser content of the node cannot hold the
63
 *   main body content.
64
 * - $is_front: Flags true when presented in the front page.
65
 * - $logged_in: Flags true when the current user is a logged-in member.
66
 * - $is_admin: Flags true when the current user is an administrator.
67
 *
68
 * Field variables: for each field instance attached to the node a corresponding
69
 * variable is defined; for example, $node->body becomes $body. When needing to
70
 * access a field's raw values, developers/themers are strongly encouraged to
71
 * use these variables. Otherwise they will have to explicitly specify the
72
 * desired field language; for example, $node->body['en'], thus overriding any
73
 * language negotiation rule that was previously applied.
74
 *
75
 * @see template_preprocess()
76
 * @see template_preprocess_node()
77
 * @see template_process()
78
 *
79
 * @ingroup templates
80
 */
81
?>
82
<article id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
83
  <?php if ((!$page && !empty($title)) || !empty($title_prefix) || !empty($title_suffix) || $display_submitted): ?>
84
  <header>
85
    <?php print render($title_prefix); ?>
86
    <?php if (!$page && !empty($title)): ?>
87
    <h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
88
    <?php endif; ?>
89
    <?php print render($title_suffix); ?>
90
    <?php if ($display_submitted): ?>
91
    <span class="submitted">
92
      <?php print $user_picture; ?>
93
      <?php print $submitted; ?>
94
    </span>
95
    <?php endif; ?>
96
  </header>
97
  <?php endif; ?>
98
  <?php
99
    // Hide comments, tags, and links now so that we can render them later.
100
    hide($content['comments']);
101
    hide($content['links']);
102
    hide($content['field_tags']);
103
    print render($content);
104
  ?>
105
  <?php
106
    // Only display the wrapper div if there are tags or links.
107
    $field_tags = render($content['field_tags']);
108
    $links = render($content['links']);
109
    if ($field_tags || $links):
110
  ?>
111
   <footer>
112
     <?php print $field_tags; ?>
113
     <?php print $links; ?>
114
  </footer>
115
  <?php endif; ?>
116
  <?php print render($content['comments']); ?>
117
</article>