Existe-t-il un moyen de masquer l'étiquette de champ lors du rendu d'un champ personnalisé dans Drupal 7?
Dans mon modèle de nœud, j'ai:
<?php print render($content['field_image']); ?>
Ce qui me donne:
<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>
J'aimerais ne pas l'avoir <div class="field-label">Image: </div>
.
Existe-t-il un moyen de s'en débarrasser autrement que dans le CSS ou en créant manuellement le balisage?
J'ai essayé unset($content['field_image']['#title'])
, mais ça me donne <div class="field-label">: </div>
.
<?php $content['field_image']['#label_display'] = 'hidden'; ?>
Réponses:
Au lieu de coder en dur le paramètre des étiquettes de champ dans le modèle, vous devez plutôt utiliser le paramètre sous l'
Manage display
onglet dans lequel vous ajoutez et supprimez des champs pour votre entité.la source
Title field label
. C'est un peu ennuyeux que le titre soit toujours obligatoire, mais c'est la vie je suppose.Pour masquer le nom d'un champ personnalisé (champ de fichier dans ce cas avec le nom "fichier") afin d'afficher uniquement une liste de fichiers téléchargeables et non le nom du champ, procédez comme suit:
la source
Oui, en utilisant la propriété #title_display de l'API Form.
la source
la source
en utilisant le modèle,
field.tpl.php
vous pouvez supprimer ou personnaliser l'étiquette ($label
dans le modèle) de votre champ. pour l'utiliser, vous devez ajouter le champ modèlefield.tpl.php
à votre thème:la source