2011-01-13 13 views

risposta

10

dovrebbe essere

$node = node_load($nid); 
$node->field_mood[$node->language][0]['value']; 
+0

Grazie. La lingua $ nodo-> era il pezzo mancante nel mio puzzle. – dantz

+1

Ricorda che CCK è stato spostato nel core. Non è più $ node-> field_language [0] ['value']. Il prefisso field_ non è più necessario. –

+0

Come farei per rendere un campo, proprio come è possibile in node.tpl.php? 'render ($ content ['FIELD'])' ma invece somthing lungo i modi di 'render ($ node-> FIELD)'? – joar

8

C'è un nuovo "field_get_items()" funzione drupal 7. La variabile di nodo $ dovrebbe essere già definita nel page.tpl quindi la prima linea potrebbe non essere necessaria.

Questo otterrà il campo nella lingua appropriata. C'è anche un parametro opzionale per specificare la lingua desiderata se necessario.

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

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

+0

Ho un 'Avviso: variabile non definita: nodo' in page.tpl.php; D7. – Disco

+0

Ok sembra che '$ nodo' non sia disponibile nella pagina "anteriore". – Disco