it-swarm-ja.com

フィールドラベルを非表示にする

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:&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>
_

_<div class="field-label">Image:&nbsp;</div>_を使いたくない。

CSSまたは手動でマークアップを作成する以外にこれを取り除く方法はありますか?

私はunset($content['field_image']['#title'])を試しましたが、_<div class="field-label">:&nbsp;</div>_が得られます。

22
Ben

テンプレートのフィールドラベルの設定をハードコーディングする代わりに、エンティティのフィールドを追加および削除するManage displayタブの設定を使用する必要があります。

24
googletorp

カスタムフィールド(この場合は「file」という名前のファイルフィールド)の名前を非表示にして、フィールドの名前ではなくダウンロード可能なファイルのリストのみを表示するには、次のようにします。

  • ファイルフィールドを含むコンテンツタイプを選択します(「ファイルリスト」という新しいタイプを作成しました)。
  • [フィールドの管理]タブに移動します
  • [ラベル]で[非表示]を選択し、[形式]で[汎用ファイル]を選択します
  • このコンテンツタイプの新しいノードを保存して作成すると、「ファイル」という名前は表示されなくなります。
11
Marta

はい、フォームAPIの #title_display プロパティを使用します。

7
drupaljoe
$content['field_image']['#label_display']='hidden';
7
Mike

テンプレート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 ?>:&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>
4
cigotete