Wie erhalte ich den Wert eines Knotenfeldes?

9

In node.tpl.php versuche ich, den Rohwert zu erhalten, aber das Problem ist, dass wenn ich render verwende:

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

Es gibt nicht nur den Wert field_image zurück, sondern formatiert und gibt das gesamte Bild aus.

Ich brauche einen Weg, um nur den Rohwert des Feldes zu erhalten. Wie kann ich das erreichen?

Yalamber
quelle

Antworten:

7

Um den wahren Wert zu erhalten und keinen thematischen ...

Sie können http://api.drupal.org/api/drupal/modules!field!field.module/function/field_get_items/7 verwenden

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

Oder verwenden Sie das Entity-API-Modul und entity_metadata_wrapper

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

Nehmen Sie eine Beute auch unter http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

gagarine
quelle
4

In einer Knotenvorlage können Sie für Rohwerte auf das $nodeObjekt zugreifen .

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

Wenn Sie die Struktur sehen müssen, können Sie tun <?php print_r($node); ?>.

Wenn dies für einen bestimmten Inhaltstyp gilt, sollten Sie eine Variation von node.tpl.php anstelle von node.tpl.php selbst verwenden. Andernfalls wird versucht, Felder anzuzeigen, die für andere Inhaltstypen nicht vorhanden sind.

Laxman13
quelle
3

Aktivieren Sie das Entwicklungsmodul und verwenden Sie es in node- {content-type} .tpl.php

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

über dem Code.

Sie können alle $ node-Felder in lesbarem Format sehen

Mohammad Ali Akbari
quelle