Czy istnieje sposób, aby ukryć etykietę pola podczas renderowania niestandardowego pola w Drupal 7?
W moim szablonie węzła mam:
<?php print render($content['field_image']); ?>
Co daje mi:
<div class="field field-name-field-image field-type-image field-label-above">
<div class="field-label">Image: </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>
Chciałbym nie mieć <div class="field-label">Image: </div>
.
Czy istnieje sposób, aby się tego pozbyć inaczej niż w CSS lub ręcznie tworząc znaczniki?
Próbowałem unset($content['field_image']['#title'])
, ale to mi daje <div class="field-label">: </div>
.
<?php $content['field_image']['#label_display'] = 'hidden'; ?>
Odpowiedzi:
Zamiast zakodować na stałe ustawienie etykiet pól w szablonie, należy zamiast tego użyć ustawienia pod
Manage display
zakładką, w którym dodajesz i usuwasz pola dla swojej encji.źródło
Title field label
. To trochę denerwujące, że tytuł jest nadal obowiązkowy, ale myślę, że takie jest życie.Aby ukryć nazwę niestandardowego pola (w tym przypadku pola pliku o nazwie „plik”), aby wyświetlić tylko listę plików do pobrania, a nie nazwę pola, wykonaj następujące czynności:
źródło
Tak, używając właściwości #title_display interfejsu API formularza.
źródło
źródło
za pomocą szablonu
field.tpl.php
możesz usunąć lub dostosować etykietę ($label
w szablonie) swojego pola. aby go użyć, musisz dodać pole szablonufield.tpl.php
do swojego motywu:źródło