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.