Dans node.tpl.php j'essaye d'obtenir la valeur brute mais le problème est que lorsque j'utilise render:
<?php print render($content['field_price']);?>
il ne renvoie pas seulement la valeur field_image mais formate et génère l'image entière.
J'ai besoin d'un moyen pour obtenir uniquement la valeur brute du champ. Comment puis-je atteindre cet objectif?
Pour obtenir la valeur réelle et non thématique ...
Vous pouvez utiliser 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');
Ou utilisez le module API d'entité et entity_metadata_wrapper
$node_wrapper = entity_metadata_wrapper('node', $node);
$field_val = $node_wrapper->field_test->value();
Prenez également un butin à http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way
Dans un modèle de nœud, pour les valeurs brutes, vous pouvez accéder à l'objet $node
.
<?php print $node->field_price; ?>
Si vous avez besoin de voir la structure, vous pouvez faire <?php print_r($node); ?>
.
De plus, s'il s'agit d'un type de contenu spécifique, vous devez utiliser une variante de node.tpl.php au lieu de node.tpl.php lui-même, sinon il essaiera d'afficher des champs qui n'existent pas sur d'autres types de contenu.
activer le module Devel et utiliser node- {content-type} .tpl.php
<?php print dsm($node); ?>
au-dessus du code.
vous pouvez voir tous les champs $ node dans un format lisible