2012-07-27 15 views
11

Estoy usando el siguiente código para imprimir el campo de nodos a áreas específicas y funciona muy bien. Pero hay una instancia en la que solo quiero imprimir el valor del campo sin la etiqueta. Parece que debería ser bastante fácil, pero estoy teniendo un problema. Agradecería cualquier ayuda ya que soy bastante nuevo en drupal. Graciasprint drupal field_view_field value only

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

Respuesta

29

field_view_value() toma un argumento $display que se puede utilizar para ocultar la etiqueta:

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

Si lo que desea es extraer el valor bruto del campo se puede utilizar field_get_items() lugar:

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

El nombre de columna ($first_item['whatever']) dependerá del tipo de campo que esté utilizando. Para campos de texto, será value. Recuerde desinfectar la entrada con check_plain() antes de enviarla ya que la convención de Drupal es almacenar los datos de entrada sin procesar y desinfectarlos en la salida.

+0

Gracias. Eso es exactamente lo que pedí. Pero estoy teniendo un problema con lo que estoy tratando de hacer. Estoy tratando de imprimir el valor del campo en un enlace, como href = "whatever.com/" ¿Hay alguna forma de imprimir solo el valor del campo no incluido en un div ? Gracias otra vez –

+0

Sí, hay una función API diferente para eso, he actualizado la respuesta – Clive

+0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ha funcionado perfectamente !!! –