2011-01-13 12 views

Odpowiedz

10

Powinny być

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

Dzięki. Język $ node-> był brakującym elementem w mojej układance. – dantz

+1

Pamiętaj, że CCK zostało przeniesione do rdzenia. To już nie jest $ node-> field_language [0] ['value']. Prefiks field_ nie jest już potrzebny. –

+0

Jak miałbym wykonać renderowanie pola, tak jak to jest możliwe w node.tpl.php? 'render ($ content ['FIELD'])' ale zamiast tego coś w stylu 'render ($ node-> FIELD)'? – joar

8

Jest nowy „field_get_items()” funkcja w Drupal 7. Zmienna $ węzeł powinien być już zdefiniowane w page.tpl więc nie mogą być wymagane w pierwszej linii.

Otrzyma to pole w odpowiednim języku. Istnieje również opcjonalny parametr do określenia pożądanego języka, jeśli jest to konieczne.

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

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

+0

Mam "Uwaga: niezdefiniowana zmienna: węzeł" w page.tpl.php; D7. – Disco

+0

OK wydaje się, że "węzeł $" nie jest dostępny na stronie "frontowej". – Disco

Powiązane problemy