隐藏字段标签


22

在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>


7
没关系我想通了,你设置#label_display隐藏: <?php $content['field_image']['#label_display'] = 'hidden'; ?>

1
您可以将其添加为答案并接受它,这样很显然答案就可以解决了。
Berdir 2011年

我有同样的问题,但是我想为我的节点做一个字段模板。我怎么能够 ?而不是移除标签

+ 1,Ben,但您接受的答案应该是@Marta的答案。无需为此问题编写任何代码!转到:admin / structure / types / manage /您的内容类型/显示以显示字段列表,然后在Label下,从下拉菜单中选择<Hidden>。单击保存按钮。这个答案应该适用于字段类型,可能是所有字段类型,而不仅仅是文件。
therobyouknow 2013年

Answers:


24

与其硬编码模板中字段标签的设置,不如使用Manage display选项卡下的设置,在该选项卡中为实体添加和删除字段。


Googletorp,那么如何隐藏标题标签?

1
如果您编辑内容类型,则可以更改中的值Title field label。标题仍然是强制性的,这有点令人讨厌,但这是我的命。
马尔克斯,2011年

1
创建内容和公开显示内容时,是否可以不同地显示字段标签?
周杰伦

@Jay可能,但是需要自定义或通过模块的代码。我现在不知道有哪个模块可以为您执行此操作。
googletorp

1
Ben,您接受的答案应该是@Marta的答案。无需编写任何代码!转到:admin / structure / types / manage /您的内容类型/显示以显示字段列表,然后在Label下,从下拉菜单中选择<Hidden>。单击保存按钮。这个答案应该适用于字段类型,可能是所有字段类型,而不仅仅是文件。
therobyouknow 2013年

11

要隐藏自定义字段的名称(在本例中为文件字段,名称为“ file”),以便仅显示可下载文件的列表,而不显示该字段的名称,请执行以下操作:

  • 选择包含文件字段的内容类型(我创建了一个名为“文件列表”的新类型)
  • 导航到“管理字段”选项卡
  • 在“标签”下,选择“隐藏”,对于“格式”,选择“通用文件”
  • 保存并创建此内容类型的新节点,并且名称“文件”不再显示

2
+1 @Marta的答案应该是公认的答案-admin / structure / types / manage /您的内容类型/显示以显示字段列表,并在Label下,从下拉菜单中选择<Hidden>。单击保存按钮。这个答案应该适用于字段类型,可能是所有字段类型,而不仅仅是文件。
therobyouknow 2013年

我同意!您在drupal中使用编码或CSS做得越少越好:)
jasonflaherty 2014年


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

我的用例的最佳答案。
Kiee

4

使用模板,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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.