Nascondi un'etichetta di campo


22

C'è un modo per nascondere l'etichetta del campo durante il rendering di un campo personalizzato in Drupal 7?

Nel mio modello di nodo ho:

<?php print render($content['field_image']); ?>

Il che mi dà:

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

Mi piacerebbe non avere il <div class="field-label">Image:&nbsp;</div>.

C'è un modo per sbarazzarsi di questo diverso da quello nel CSS o creare manualmente il markup?

Ci ho provato unset($content['field_image']['#title']), ma questo mi dà <div class="field-label">:&nbsp;</div>.


7
Non importa, l'ho capito, hai impostato #label_display su nascosto: <?php $content['field_image']['#label_display'] = 'hidden'; ?>
— Ben

1
Potresti aggiungerlo come risposta e accettarlo, in modo che sia chiaro che la risposta è stata risolta.
— Berdir,

ho avuto lo stesso problema ma voglio fare un modello di campo per il mio nodo. come posso ? invece di rimuovere l'etichetta

+1 sulla tua domanda, Ben, ma la tua risposta accettata dovrebbe essere la risposta di @ Marta di seguito. Non è necessario scrivere NESSUN CODICE per questo problema! Vai a: admin / struttura / tipi / gestisci / IL TUO TIPO DI CONTENUTO / display per mostrare il tuo elenco di campi e in Etichetta, seleziona <Nascosto> dal menu a discesa. Fai clic sul pulsante Salva. Questa risposta dovrebbe applicarsi ai tipi di campo, forse a tutti, non solo ai file.
— therobyouknow,

Risposte:


24

Invece di codificare in modo rigido l'impostazione per le etichette dei campi nel modello, dovresti invece utilizzare l'impostazione nella Manage displayscheda in cui aggiungi e rimuovi i campi per la tua entità.


Googletorp, come nascondi allora l'etichetta del titolo?

1
Se si modifica il tipo di contenuto, è possibile modificare il valore in Title field label. È un po 'fastidioso che il titolo sia ancora obbligatorio, ma credo sia la vita.
— Malks,

1
È possibile visualizzare le etichette dei campi in modo diverso quando si creano contenuti e quando vengono visualizzati pubblicamente?
— Jay,

@Jay sarebbe possibile, ma richiederebbe il codice, personalizzato o tramite un modulo. Tuttavia, non conosco alcun modulo che lo faccia per te in questo momento.
— googletorp

1
Ben, la tua risposta accettata dovrebbe essere la risposta di @ Marta di seguito. Non c'è bisogno di scrivere alcun codice! Vai a: admin / struttura / tipi / gestisci / IL TUO TIPO DI CONTENUTO / display per mostrare il tuo elenco di campi e in Etichetta, seleziona <Nascosto> dal menu a discesa. Fai clic sul pulsante Salva. Questa risposta dovrebbe applicarsi ai tipi di campo, forse a tutti, non solo ai file.
— therobyouknow,

11

Per nascondere il nome di un campo personalizzato (campo file in questo caso con il nome "file") per mostrare solo un elenco di file scaricabili e non il nome del campo, procedere come segue:

  • Scegli il tipo di contenuto che contiene il campo del file (ho creato un nuovo tipo chiamato "Elenco file")
  • Passa alla scheda "Gestisci campi"
  • Sotto Etichetta selezionare "Nascosto" e per Formato, "File generico"
  • Salvare e creare un nuovo nodo di questo tipo di contenuto e il nome "file" non dovrebbe più essere visualizzato

2
+1 @ La risposta di Marta sopra dovrebbe essere la risposta accettata - admin / struttura / tipi / gestisci / IL TUO TIPO DI CONTENUTO / display per mostrare il tuo elenco di campi e sotto l'etichetta, seleziona <Nascosto> dal menu a discesa. Fai clic sul pulsante Salva. Questa risposta dovrebbe applicarsi ai tipi di campo, forse a tutti, non solo ai file.
— therobyouknow,

Sono d'accordo! Meno si fa con la programmazione o css in drupal, meglio è :)
— jasonflaherty


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

La migliore risposta per il mio caso d'uso.
— Kiee,

4

usando il modello field.tpl.phppuoi rimuovere o personalizzare l'etichetta ( $labelnel modello) del tuo campo. per usarlo è necessario aggiungere il campo modello field.tpl.phpal tema:

<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>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.