Existe uma maneira de ocultar o rótulo do campo ao renderizar um campo personalizado no Drupal 7?
No meu modelo de nó, tenho:
<?php print render($content['field_image']); ?>
O que me dá:
<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>
Eu gostaria de não ter o <div class="field-label">Image: </div>
.
Existe uma maneira de se livrar disso, exceto no CSS ou criando manualmente a marcação?
Eu tentei unset($content['field_image']['#title'])
, mas isso me dá <div class="field-label">: </div>
.
<?php $content['field_image']['#label_display'] = 'hidden'; ?>
Respostas:
Em vez de codificar a configuração para rótulos de campo no modelo, você deve usar a configuração na
Manage display
guia onde você adiciona e remove campos para sua entidade.fonte
Title field label
. É um pouco chato que o título ainda seja obrigatório, mas acho que é a vida.Para ocultar o nome de um campo personalizado (neste caso, campo de arquivo com o nome "arquivo") para mostrar apenas uma lista de arquivos para download e não o nome do campo, faça o seguinte:
fonte
Sim, usando a propriedade #title_display da API do formulário.
fonte
fonte
usando o modelo,
field.tpl.php
você pode remover ou personalizar o rótulo ($label
no modelo) do seu campo. Para usá-lo, você deve adicionar o campo de modelofield.tpl.php
ao seu tema:fonte