Drupal 7)でカスタムフィールドをレンダリングするときにフィールドラベルを非表示にする方法はありますか?
私のノードテンプレートには次のものがあります。
_<?php print render($content['field_image']); ?>
_
それは私に与えます:
_<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>
_
_<div class="field-label">Image: </div>
_を使いたくない。
CSSまたは手動でマークアップを作成する以外にこれを取り除く方法はありますか?
私はunset($content['field_image']['#title'])
を試しましたが、_<div class="field-label">: </div>
_が得られます。
テンプレートのフィールドラベルの設定をハードコーディングする代わりに、エンティティのフィールドを追加および削除するManage display
タブの設定を使用する必要があります。
カスタムフィールド(この場合は「file」という名前のファイルフィールド)の名前を非表示にして、フィールドの名前ではなくダウンロード可能なファイルのリストのみを表示するには、次のようにします。
はい、フォームAPIの #title_display プロパティを使用します。
$content['field_image']['#label_display']='hidden';
テンプレートfield.tpl.php
を使用すると、フィールドのラベル(テンプレートの$label
)を削除またはカスタマイズできます。これを使用するには、テンプレートフィールドfield.tpl.php
をテーマに追加する必要があります。
<div class="<?php print $classes; ?>"<?php print $attributes; ?>>
<?php if (!$label_hidden): ?>
<div class="field-label"<?php print $title_attributes; ?>><?php print $label ?>: </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>