Mendapatkan label bidang dari variabel $ node


8

Bagaimana saya bisa mendapatkan label bidang tertentu dalam sebuah simpul, di Drupal 7?

Bidang yang saya minati memiliki struktur berikut:

    [field_text_question1] => Array (
      [und] => Array (
        [0] => Array (
          [value] => Sales Intern
          [format] => 
          [safe_value] => Sales Intern
        ) 
      )
    )

Jawaban:


13

Cara terbaik adalah dengan menggunakan field_info_instance ($ entitas_type, $ field_name, $ bundle_name) untuk mendapatkan informasi tentang tingkat spesifik bidang. Label bidang terkandung dalam array yang dikembalikan dari fungsi itu.

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

saya perlu menggunakan field_name tetapi dengan terjemahan entitas, bukan? saya mencobanya tetapi tidak berhasil
Waseeem Alfarra

1

Saya percaya Anda mencari di dalam $nodevariabel. Itu tidak tersedia di sana. Hanya nilai bidang yang disimpan di dalam $nodevariabel, bukan pengaturan bidang (seperti label). Jika Anda ingin label terlihat di $contentvariabel.

$contentvariabel tersedia di MYTHEME_preprocess_node(&$variable)fungsi templat tema node.tpl.php,, serta beberapa lainnya.

Jika tidak tersedia, Anda dapat menelepon field_info_field($field_name)


0

Cara termudah untuk mencetak label bidang suatu simpul adalah:

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

(Saya sudah menemukannya setelah banyak print_r array dan objek Drupal! Jika begitu mudah, mengapa tidak dijelaskan di mana saja, atau mengapa begitu tersembunyi sehingga saya tidak menemukan trik? Dan melewati waktu yang lama dari pertanyaan untuk jawaban ini ...)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.