Abrufen von Feldbezeichnungen aus der Variablen $ node


8

Wie kann ich in Drupal 7 die Beschriftungen bestimmter Felder innerhalb eines Knotens abrufen?

Das Feld, für das ich mich interessiere, hat folgende Struktur:

    [field_text_question1] => Array (
      [und] => Array (
        [0] => Array (
          [Wert] => Sales Intern
          [Format] => 
          [safe_value] => Sales Intern
        ) 
      )
    )

Antworten:


13

Der beste Weg ist, field_info_instance ($ entity_type, $ field_name, $ bundle_name) zu verwenden, um Informationen über bestimmte Instanzen eines Feldes abzurufen. Die Bezeichnung des Feldes ist in dem von dieser Funktion zurückgegebenen Array enthalten.

 $info = field_info_instance('node','field_name','content_type_name');
 print $info['label'];

Ich muss den Feldnamen verwenden, aber mit Entity-Übersetzung kann ich? Ich habe das versucht, aber es funktioniert nicht
Waseeem Alfarra

1

Ich glaube, Sie schauen in die $nodeVariable. Es ist dort nicht verfügbar. In der $nodeVariablen werden nur die Feldwerte gespeichert , nicht die Feldeinstellungen (z. B. die Beschriftung). Wenn Sie die Beschriftung wünschen, schauen Sie in die $contentVariable.

$contentVariable ist in der MYTHEME_preprocess_node(&$variable)Themenvorlagenfunktion node.tpl.phpsowie in einigen anderen verfügbar .

Wenn es nicht verfügbar ist, können Sie anrufen field_info_field($field_name)


0

Der einfachste Weg, die Feldbezeichnung eines Knotens zu drucken, ist:

<?php print $content['field_your_field_name']['#title']; ?>

(Ich habe es nach vielen print_r-Arrays und Objekten von Drupal entdeckt! Wenn es so einfach ist, warum wird es nirgendwo erklärt oder warum ist es so versteckt, dass ich den Trick nicht gefunden habe? Frage zu dieser Antwort ...)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.