Sembunyikan label bidang

22

Apakah ada cara untuk menyembunyikan label bidang saat merender bidang khusus di Drupal 7?

Dalam templat simpul saya, saya punya:

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

Yang memberi saya:

<div class="field field-name-field-image field-type-image field-label-above">
  <div class="field-label">Image:&nbsp;</div>
  <div class="field-items">
    <div class="field-item even">
      <img typeof="foaf:Image" src="http://site.com/sites/default/files/image.jpg" alt="">
    </div>
  </div>
</div>

Saya ingin tidak memilikinya <div class="field-label">Image:&nbsp;</div>.

Apakah ada cara untuk menghilangkan ini selain di CSS atau secara manual membuat markup?

Saya sudah mencoba unset($content['field_image']['#title']), tetapi itu memberi saya <div class="field-label">:&nbsp;</div>.

Ben
sumber
7
Nevermind saya menemukan jawabannya, Anda mengatur #label_display disembunyikan: <?php $content['field_image']['#label_display'] = 'hidden'; ?>
Ben
1
Anda bisa menambahkan itu sebagai jawaban dan menerimanya, sehingga jelas jawabannya sudah teratasi.
Berdir
saya memiliki masalah yang sama tetapi saya ingin melakukan templat bidang untuk simpul saya. bagaimana bisa saya ? bukannya menghapus label
Memberi +1 pada pertanyaan Anda, Ben, tetapi jawaban Anda yang diterima harus menjadi jawaban @ Marta di bawah ini. TIDAK perlu menulis KODE APA SAJA untuk masalah ini! Pergi ke: admin / struktur / tipe / kelola / JENIS KONTEN ANDA / tampilan untuk menampilkan daftar bidang Anda dan di bawah Label, pilih <Hidden> dari menu drop down. Klik tombol Simpan. Jawaban ini harus berlaku untuk jenis bidang, mungkin semuanya, bukan hanya file.
therobyouknow

Jawaban:

24

Alih-alih meng-hardcoding pengaturan untuk label bidang dalam templat, Anda sebaiknya menggunakan pengaturan di bawah Manage displaytab tempat Anda menambahkan dan menghapus bidang untuk entitas Anda.

googletorp
sumber
Googletorp, bagaimana Anda menyembunyikan label judul itu?
1
Jika Anda mengedit jenis konten, Anda dapat mengubah nilainya Title field label. Agak menyebalkan kalau judulnya masih wajib, tapi kurasa itu hidup.
Malks
1
Apakah mungkin untuk menampilkan label bidang secara berbeda saat membuat konten dan ketika menampilkannya secara publik?
Jay
@ Mungkin itu mungkin, tetapi akan membutuhkan kode, baik kustom atau melalui modul. Saya tidak tahu modul apa pun yang melakukan ini untuk Anda sekarang.
googletorp
1
Ben, jawaban Anda yang diterima harus jawaban @ Marta di bawah ini. Tidak perlu menulis kode apa pun! Pergi ke: admin / struktur / tipe / kelola / JENIS KONTEN ANDA / tampilan untuk menampilkan daftar bidang Anda dan di bawah Label, pilih <Hidden> dari menu drop down. Klik tombol Simpan. Jawaban ini harus berlaku untuk jenis bidang, mungkin semuanya, bukan hanya file.
therobyouknow
11

Untuk menyembunyikan nama bidang khusus (bidang file dalam hal ini dengan nama "file") agar hanya menampilkan daftar file yang dapat diunduh dan bukan nama bidang, lakukan hal berikut:

  • Pilih Jenis Konten yang berisi bidang file (Saya membuat jenis baru yang disebut "Daftar File")
  • Arahkan ke Tab "Kelola Bidang"
  • Di bawah Label pilih "Tersembunyi" dan untuk Format, "File Generik"
  • Simpan dan buat simpul baru dari jenis konten ini dan nama "file" seharusnya tidak lagi ditampilkan
Marta
sumber
2
+1 @ Jawaban Marta di atas harus menjadi jawaban yang diterima - admin / struktur / tipe / kelola / JENIS KONTEN ANDA / tampilan untuk menampilkan daftar bidang Anda dan di bawah Label, pilih <Hidden> dari menu drop-down. Klik tombol Simpan. Jawaban ini harus berlaku untuk jenis bidang, mungkin semuanya, bukan hanya file.
therobyouknow
Saya setuju! Semakin sedikit yang Anda lakukan dengan coding atau css di drupal semakin baik :)
jasonflaherty
7

Ya, menggunakan properti #title_display dari Form API.

drupaljoe
sumber
Bukankah itu '#label_display'?
Shoaib Nawaz
7
$content['field_image']['#label_display']='hidden';
Mike
sumber
Jawaban terbaik untuk kasus penggunaan saya.
Kiee
4

menggunakan templat field.tpl.phpAnda dapat menghapus atau menyesuaikan label ( $labeldalam templat) bidang Anda. untuk menggunakannya, Anda harus menambahkan bidang templat field.tpl.phpke tema Anda:

<div class="<?php print $classes; ?>"<?php print $attributes; ?>>
  <?php if (!$label_hidden): ?>
    <div class="field-label"<?php print $title_attributes; ?>><?php print $label ?>:&nbsp;</div>
  <?php endif; ?>
  <div class="field-items"<?php print $content_attributes; ?>>
    <?php foreach ($items as $delta => $item): ?>
      <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div>
    <?php endforeach; ?>
  </div>
</div>
cigotete
sumber