Stworzyłem własny motyw Drupal 8:
mytheme.info.yml:
name: My Theme
description: 'Drupal 8 Theme'
type: theme
base theme: bartik
core: '8.x'
mytheme.libraries.yml
global-styling:
version: 1.x
css:
theme:
css/layout.css: {}
css/style.css: {}
css/colors.css: {}
css/print.css: { media: print }
Używam „Seven” jako motywu administratora.
Kiedy edytuję stronę (/ node / x / edit) używa się siedmiu motywów.
Teraz muszę dodać trochę CSS do formularza edycji. W jaki sposób mogę to zrobić? style.css jest ładowany tylko na stronach frontonu. Strony edycji używają siedmiu motywów, a mój motyw CSS jest ignorowany.
Jak mogę dodać trochę CSS do stron administracyjnych lub edytować formularze w Drupal 8?
I do not want to mix themes, I only want to add one simple CSS!
które uważa się za mieszanie w Drupal. Jedyną opcją, którą możesz zrobić, jest utworzenie podtematu Siedem lub „zhakowanie” motywu siedmiu,/core/themes/
ale będzie on tracił zmiany za każdym razem, gdy aktualizujesz drupal 8. Musisz więc pamiętać o przesyłaniu przesłoniętego pliku .css za każdym razem uaktualniasz D8. Dlatego lepiej jest utworzyć podtemat Seven i używać go jako motywu administracyjnego, ponieważ podtemat będzie znajdować się w/themes
folderze, a nie w nim/core/themes
.Moduł, którego szukasz, nazywa się teraz Asset Injector . Dzięki niemu możesz dodawać CSS poprzez interfejs użytkownika, jak wspomniano w @Whatwatt.
źródło
Jeśli utworzysz podtemat dla Seven i użyjesz go jako motywu administratora, możesz dodać własne przesłonięcia css w pliku seven_subtheme.info.yml, bez bałagania się motywem podstawowym lub mylenia obowiązków związanych z motywem. Podtemat musi mieć tylko plik info.yml i css i odziedziczy wszystko inne.
Z jego brzmienia zależy ci głównie na zmianie css używanego przez edytor wysiwyg (ckeditor), więc zamiast tego możesz
ckeditor_stylesheets
spróbować dodać do pliku info.yml. Należy zauważyć, że, jak wyjaśniono w tej kwestii , CKEditor css rzeczywiście może być dodany z Twojego tematu, jako edytor WYSIWYG powinien korzystać z rozrywki non-admin css domyślnie (pamiętaj, aby usunąć pamięci podręcznej po dodaniu tego).źródło
Zainstaluj moduł CSS Injector (obecnie istnieje tylko działająca wersja programistyczna dla Drupal 8).
Następnie przejdź do strony administracyjnej CSS Injector ( / admin / config / development / css-injector ). Utwórz nową regułę CSS. Na przykład, aby zmienić kolor tła pola:
Wybierz zastosowanie tej reguły do motywu Siedem (lub dowolnego używanego motywu administratora).
Oszczędzaj i ciesz się!
źródło
Aby pracować z dowolnym motywem administratora, użyłem odpowiedzi AdamS i zmieniłem zaczep na.
źródło
Dlaczego nie utworzyć bloku wywołującego css i wstawić go do nagłówka stron administracyjnych?
@import url ("/ themes / XYZ / css / admin_overrides.css")
źródło
Możesz dodać admin CSS z haka modułu. Zamień XXX na nazwę modułu.
1 Umieść swój CSS w css / extra.admin.css
2 Zadeklaruj bibliotekę, tworząc plik XXX.libraries.yml
3 Utwórz zaczep, aby załadować bibliotekę.
/ **
* Implementuje hook_page_attachments ().
* /
źródło
stworzyłbym osobny motyw podrzędny dla front-office i back-office
źródło