Gibt es eine Möglichkeit, die Feldbezeichnung beim Rendern eines benutzerdefinierten Felds in Drupal 7 auszublenden?
In meiner Knotenvorlage habe ich:
<?php print render($content['field_image']); ?>
Welches gibt mir:
<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>
Ich möchte das nicht haben <div class="field-label">Image: </div>
.
Gibt es eine Möglichkeit, dieses Problem anders als im CSS oder durch manuelles Erstellen des Markups zu beheben?
Ich habe es versucht unset($content['field_image']['#title'])
, aber das gibt mir <div class="field-label">: </div>
.
<?php $content['field_image']['#label_display'] = 'hidden'; ?>
Antworten:
Anstatt die Einstellung für Feldbeschriftungen in der Vorlage fest zu codieren, sollten Sie stattdessen die Einstellung auf der
Manage display
Registerkarte verwenden, auf der Sie Felder für Ihre Entität hinzufügen und entfernen.quelle
Title field label
. Es ist ein bisschen ärgerlich, dass der Titel immer noch obligatorisch ist, aber das ist das Leben, denke ich.Um den Namen eines benutzerdefinierten Feldes (in diesem Fall ein Dateifeld mit dem Namen "file") auszublenden, um nur eine Liste der herunterladbaren Dateien und nicht den Namen des Feldes anzuzeigen, gehen Sie wie folgt vor:
quelle
Ja, mithilfe der Eigenschaft #title_display der Formular-API.
quelle
quelle
Mit der Vorlage können
field.tpl.php
Sie die Beschriftung ($label
in der Vorlage) Ihres Feldes entfernen oder anpassen . Um es zu verwenden, müssen Sie das Vorlagenfeldfield.tpl.php
zu Ihrem Thema hinzufügen :quelle