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?

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


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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.