Como obter o valor de um campo de nó?

9

No node.tpl.php, estou tentando obter o valor bruto, mas o problema é que quando eu uso o render:

<?php print render($content['field_price']);?>

ele não apenas retorna o valor de field_image, mas formata e gera a imagem inteira.

Eu preciso de uma maneira de obter apenas o valor bruto do campo. Como posso conseguir isso?

Yalamber
fonte

Respostas:

7

Para obter o valor real e não temático ...

Você pode usar http://api.drupal.org/api/drupal/modules!field!field!field.module/function/field_get_items/7

 $my_field_items = field_get_items('node', $node, 'field_my_field');

Ou use o módulo API da entidade e entity_metadata_wrapper

 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val = $node_wrapper->field_test->value();

Faça um saque também em http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

gagarine
fonte
4

Em um modelo de nó, para valores brutos, você pode acessar o $nodeobjeto.

<?php print $node->field_price; ?>

Se você precisa ver a estrutura, pode fazer <?php print_r($node); ?>.

Além disso, se for para um tipo de conteúdo específico, você deverá usar uma variação do node.tpl.php em vez do próprio node.tpl.php, caso contrário, ele tentará exibir campos inexistentes em outros tipos de conteúdo.

Laxman13
fonte
3

ativar o módulo Devel e no nó- {content-type} .tpl.php use

<?php print dsm($node); ?>

em cima do código.

você pode ver todos os campos $ node em formato legível

Mohammad Ali Akbari
fonte