2012-07-27 15 views
11

Korzystam z poniższego kodu, aby wydrukować pole węzłów w określonych obszarach i działa świetnie. Ale istnieje instancja, w której chcę wydrukować wartość pola bez etykiety. Wydaje się, że powinno być całkiem łatwe, ale mam trochę problemów. Byłbym wdzięczny za każdą pomoc, ponieważ jestem całkiem nowy dla drupala. Dziękiprint drupal pole_widokowe tylko wartość

<?php 
    print drupal_render(field_view_field('node', $node, 'field_description')); ?> 

Odpowiedz

29

field_view_value() zajmuje $display argument, który można użyć, aby ukryć etykiety:

$display = array('label' => 'hidden'); 
$view = field_view_field('node', $node, 'field_description', $display); 
print drupal_render($view); 

Jeśli tylko chcesz, aby wyodrębnić wartość surowego pola można użyć field_get_items() zamiast:

$items = field_get_items('node', $node, 'field_description'); 
$first_item = array_shift($items); 
$description = $first_item['value']; 

Nazwa kolumny ($first_item['whatever']) będzie zależeć od rodzaju pola, którego używasz. Dla pól tekstowych będzie to value. Pamiętaj, aby odłączyć dane wejściowe za pomocą check_plain(), zanim wypiszesz je, ponieważ konwencja Drupala polega na zapisywaniu nieprzetworzonych danych wejściowych i oczyszczaniu go na wyjściu.

+0

Dzięki. To dokładnie to, o co prosiłem. Ale mam problem z tym, co próbuję zrobić. Próbuję wydrukować wartość pola w łączu, jak np. Href = "whatever.com/ "Czy istnieje sposób drukowania tylko wartości pola, które nie są zapakowane w element div? ? Jeszcze raz dziękuję –

+0

Tak, jest tam inna funkcja API, zaktualizowałem odpowiedź – Clive

+0

Dzięki twojemu wspaniałemu zadziałał idealnie !!! –