Wie entferne ich den Doppelpunkt von meinen Feldbezeichnungen?

10

Ich möchte einfach nur den Doppelpunkt aus meinen gerenderten Feldbezeichnungen entfernen können, zum Beispiel:

Hotelname: zum Hotelnamen

Ich habe field.tpl.php kopiert und den Doppelpunkt dort entfernt, aber egal, was Drupal ablehnt und den Doppelpunkt von einer anderen Stelle zieht.

Wie kann ich das mit einer template.php-Funktion machen?

blue928
quelle
Hast du den Cache geleert?
AjitS
ja, mehrmals. no go
blue928
@ blue928 Siehe den doppelten Beitrag, müssen Sie überschreiben theme_form_element(), um dies zu tun
Clive
Dieser Knoten / Fix oben hat einfach die Doppelpunkte aus dem Formular entfernt, wenn jemand Inhalte bearbeitet / eingibt. Ich muss die Beschriftungen entfernen, nachdem sie im Knoten gerendert wurden. .. also wäre es kein Duplikat der oben genannten. Ich habe diese Lösung tatsächlich implementiert, um dieses Ergebnis zu erzielen.
blue928

Antworten:

16

Die Antwort ist definitiv, field.tpl.php zu verwenden . Wenn Sie sich die Quelle für diese Datei ansehen, sehen Sie die fehlerhaften Zeilen:

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>:&nbsp;
  </div>
<?php endif; ?>

(Abstand und Einrückung zur Klarheit).

Das Entfernen des Doppelpunkts ist so einfach wie das Ersetzen der obigen Zeilen durch:

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>&nbsp;
  </div>
<?php endif; ?>

Ich habe das gerade auf einer leeren Drupal-Installation getestet und es funktioniert perfekt. Keine Doppelpunkte mehr nach Feldbezeichnungen.

Wenn Sie bereits dasselbe tun, aber nicht die richtigen Ergebnisse erzielen, kann ich mir ein oder zwei Dinge vorstellen, die schief gehen könnten:

  • Sie haben Ihre benutzerdefinierte Version von field.tpl.php in einem Modulordner und nicht im aktiven Themenordner Ihrer Site abgelegt (dieser muss sich im Themenordner befinden).
  • Ein anderes Modul / Element im System überschreibt außerdem field.tpl.php auf eine robustere Weise als Sie es derzeit sind. Um festzustellen, ob dies der Fall ist, muss jedes aktivierte Modul immer mühsam deaktiviert werden, um festzustellen, woher das Problem stammt.

Sie können die Änderung nicht mit einer Vorlagenvorverarbeitungsfunktion vornehmen, da der Doppelpunkt fest in der Vorlagendatei codiert ist.

Clive
quelle
Ah, es gab tatsächlich ein anderes Modul, das die ordnungsgemäße Funktion der Vorlagendatei verhinderte. Vielen Dank, dass Sie auf einige hilfreiche Anweisungen zum Debuggen hingewiesen haben.
blue928
9

Ich habe gerade ein Modul erstellt, das genau dies tut und Doppelpunkte (pro Feld) von den Feldbezeichnungen bei der Ausgabe entfernt: Kolektomie

tanc
quelle
Kann bestätigen. Dieses Modul funktioniert hervorragend und ist eine einfache, elegante Lösung für das Problem.
Mark
2

Wenn es sich um eine Ansicht mit Feldern handelt, klicken Sie einfach auf das Feld und deaktivieren Sie unter "Beschriftung erstellen" die Option "Doppelpunkt nach der Beschriftung platzieren".

Tyler Durden
quelle
2

Die Display Suite bietet die gleiche Funktionalität:

Wenn Sie die Extras der Display Suite aktivieren, können Sie Doppelpunkte vor Beschriftungen entfernen:

Der Weg dafür ist: /admin/structure/ds/list/extras/

Geben Sie hier die Bildbeschreibung ein

Chrisjlee
quelle
1
Dies macht viel mehr als das Entfernen des Doppelpunkts. Wenn Sie benutzerdefiniertes CSS angewendet haben, wird dies das beenden.
Mark
0

In meinem Fall funktionierte es, indem theme_field()( field.module) überschrieben wurde, indem die gesamte Funktion in meine template.phpDatei kopiert und die gelesene Zeile geändert wurde

$output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] . '&nbsp;</div>';

Löschen Sie die Caches, bevor Sie es versuchen.

Meetai.com
quelle
0

Ich konnte nirgendwo eine Antwort auf diese Frage für Drupal 8 finden. Bei Drupal 8 wird der Doppelpunkt mit einer CSS-Datei (field.css) im Classy-Kernthema hinzugefügt, wenn Sie ihn als Basisthema verwenden. Alles, was Sie tun müssen, ist, es in Ihrer eigenen CSS-Datei in Ihrem Thema zu überschreiben.

Also aus der ursprünglichen Datei field.css:

.field--label-inline .field__label::after {
    content: ':';
}

In meiner Theme-CSS-Datei zum Entfernen des Doppelpunkts:

.field--label-inline .field__label::after {
    content: '';
}
Stonewall Thomas
quelle