Chcę po prostu móc usunąć dwukropek z renderowanych etykiet pól, na przykład:
Nazwa hotelu: na nazwę hotelu
Skopiowałem plik field.tpl.php i usunąłem tam dwukropek, ale bez względu na to, co Drupal odmawia przyjęcia go i wyciąga je z innego miejsca.
Jak mogę to zrobić za pomocą funkcji template.php?
theme_form_element()
to zrobićOdpowiedzi:
Odpowiedzią jest zdecydowanie użyć field.tpl.php . Jeśli spojrzysz na źródło tego pliku, zobaczysz obrażające linie:
(moje odstępy i wcięcia dla jasności).
Usunięcie jelita grubego jest tak proste, jak zastąpienie powyższych linii:
Właśnie przetestowałem to na pustej instalacji Drupala i działa idealnie; koniec dwukropków po etykietach pól.
Jeśli już robisz to samo, ale nie osiągasz poprawnych wyników, mogę wymyślić jedną lub dwie rzeczy, które mogą się nie udać:
Nie będzie można dokonać zmiany za pomocą funkcji wstępnego przetwarzania szablonu, ponieważ dwukropek jest zakodowany na stałe w pliku szablonu.
źródło
Właśnie utworzyłem moduł, który robi dokładnie to, usuwa dwukropki (na podstawie poszczególnych pól) z etykiet pól na wyjściu: kolektomia
źródło
Jeśli jest to widok z polami, wystarczy kliknąć pole i odznaczyć „Umieść dwukropek za etykietą” w „Utwórz etykietę”.
źródło
Pakiet wyświetlacza zapewnia również tę samą funkcjonalność:
Jeśli włączysz dodatki do zestawu wyświetlania, możesz usunąć dwukropki przed etykietami:
Ścieżka do tego jest:
/admin/structure/ds/list/extras/
źródło
W moim przypadku działało to przez przesłonięcie
theme_field()
(field.module
) poprzez skopiowanie całej funkcji do mojegotemplate.php
pliku i zmianę wiersza, który czytaWyczyść pamięć podręczną przed próbą.
źródło
Nigdzie nie mogłem znaleźć odpowiedzi na to pytanie dotyczące Drupala 8. W Drupal 8 dwukropek jest dodawany z plikiem CSS (field.css) w głównym motywie Classy, jeśli używasz go jako motywu podstawowego. Wszystko, co musisz zrobić, to zastąpić go w swoim własnym pliku CSS w swoim motywie.
Tak więc z oryginalnego pliku field.css:
W moim pliku CSS motywu, aby usunąć dwukropek:
źródło