it-swarm.it

Come ottenere il valore di un campo nodo?

In node.tpl.php sto cercando di ottenere il valore grezzo ma il problema è che quando uso render:

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

non restituisce solo il valore field_image ma formatta e restituisce l'intera immagine.

Ho bisogno di un modo per ottenere solo il valore grezzo del campo. Come posso raggiungere questo obiettivo?

9
Yalamber

Per ottenere il valore reale e non uno a tema ...

Puoi usare http://api.drupal.org/api/drupal/modules!field!field.module/function/field_get_items/7

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

Oppure usa il modulo API Entity e entity_metadata_wrapper

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

Prendi un bottino anche a http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

7
gagarine

In un modello di nodo, per valori non elaborati è possibile accedere all'oggetto $node.

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

Se hai bisogno di vedere la struttura, puoi fare <?php print_r($node); ?>.

Inoltre, se questo è per uno specifico tipo di contenuto, dovresti usare una variante di node.tpl.php invece di node.tpl.php stesso, altrimenti proverà a visualizzare campi inesistenti su altri tipi di contenuto.

4
Laxman13

abilita il modulo Devel e nell'uso del nodo {content-type} .tpl.php

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

in cima al codice.

puoi vedere tutti i campi $ node in formato leggibile

3