11

I added a new field "mood" (image) to the page content type. Is there any way to access the image stored in this field in the page.tpl.php?

2 Answers 2

10

Should be

$node = node_load($nid);
$node->field_mood[$node->language][0]['value'];
Sign up to request clarification or add additional context in comments.

5 Comments

Thanks. The $node->language was the missing piece in my puzzle.
Remember that CCK has been moved into the core. It's no longer $node->field_language[0]['value']. The field_ prefix is no longer necessary.
How would I go about to render a field, just as it is possible in node.tpl.php? render($content['FIELD']) but instead somthing along the ways of render($node->FIELD)?
I found the solution to my comment, I had to use $view = node_view($node); render($view). This was a while ago, more information about node_view is out there.
if you're in the node page, please use <code>$node = menu_get_object();</code> since it gets the node from the page cache.
8

There is a new "field_get_items()" function in drupal 7. The $node variable should already be defined in page.tpl so the first line may not be required.

This will get the field in the appropriate language. There is also an optional parameter to specify the desired language if needed.

$node = node_load($nid);
$values = field_get_items('node', $node, 'mood');
if ($values != FALSE) {
  $val = $values[0]['value'];
}
else {
  // no result
}

reference: http://api.drupal.org/api/drupal/modules--field--field.module/function/field_get_items/7

2 Comments

I have a 'Notice: Undefined variable: node' in page.tpl.php; D7.
Ok seems that '$node' is not available in "front" page.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.