diff options
Diffstat (limited to 'modules/node/node.module')
-rw-r--r-- | modules/node/node.module | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/modules/node/node.module b/modules/node/node.module index cf0271f17..368896e4c 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -1335,6 +1335,68 @@ function node_show($node, $message = FALSE) { } /** + * Process variables for node.tpl.php + * + * Most themes utilize their own copy of node.tpl.php. The default is located + * inside "modules/node/node.tpl.php". Look in there for the full list of + * variables. + * + * The $variables array contains the following arguments: + * - $node + * - $teaser + * - $page + * + * @see node.tpl.php + */ +function template_preprocess_node(&$variables) { + $variables['teaser'] = $variables['elements']['#teaser']; + $variables['node'] = $variables['elements']['#node']; + $node = $variables['node']; + + $variables['date'] = format_date($node->created); + $variables['name'] = theme('username', $node); + $variables['node_url'] = url('node/' . $node->nid); + $variables['title'] = check_plain($node->title); + $variables['page'] = (bool)menu_get_object(); + + if ($node->build_mode == NODE_BUILD_PREVIEW) { + unset($node->content['links']); + } + + // Render taxonomy links separately. + $variables['terms'] = !empty($node->content['links']['terms']) ? drupal_render($node->content['links']['terms']) : ''; + + // Render all remaining node links. + $variables['links'] = !empty($node->content['links']) ? drupal_render($node->content['links']) : ''; + + // Render any comments. + $variables['comments'] = !empty($node->content['comments']) ? drupal_render($node->content['comments']) : ''; + + // Render the rest of the node into $content. + $variables['content'] = drupal_render($node->content); + + // Flatten the node object's member fields. + $variables = array_merge((array)$node, $variables); + + // Display post information only on certain node types. + if (variable_get('node_submitted_' . $node->type, TRUE)) { + $variables['submitted'] = theme('node_submitted', $node); + $variables['picture'] = theme_get_setting('toggle_node_user_picture') ? theme('user_picture', $node) : ''; + } + else { + $variables['submitted'] = ''; + $variables['picture'] = ''; + } + // Clean up name so there are no underscores. + $variables['template_files'][] = 'node-' . str_replace('_', '-', $node->type); + $variables['template_files'][] = 'node-' . $node->nid; + + // Add $FIELD_NAME_rendered variables for fields. + drupal_function_exists('field_attach_preprocess'); + $variables += field_attach_preprocess('node', $node); +} + +/** * Theme a log message. * * @ingroup themeable |