Node Form & Adminseiten in Drupal 8 per CSS anpassen im eigenen Theme
am 30.05.2016 - 19:51 Uhr in
Drupal 8.1.1 mit einem selbst entwickelten Theme (base theme: bartik) verwendet als Verwaltungstheme "Seven".
Sprich beim Bearbeiten von Inhalten (/node/x/edit) wird Seven als Theme verwendet.
Nun muss im Node Formular (also auf /node/x/edit) eine Kleinigkeit per CSS angepasst werden.
Das ist in Drupal 8 nicht ganz trivial wegen der neuen Libraries mit Abhängigkeiten beim Hinzufügen von CSS-Files im eigenen Theme (meintheme.libraries.yml):
global-styling:
version: 1.x
css:
theme:
css/layout.css: {}
css/style.css: {}
css/colors.css: {}
css/print.css: { media: print }
Versucht man hier z. Bsp. in style.css die CSS-Anweisungen einzubauen, werden diese zwar im Theme geladen, aber nicht auf den Admin-Seiten, den dort wird NICHT das eigene Theme sondern Seven als Verwaltungstheme verwendet.
Auch solche Versuche mit "Libraries" führen nicht zum Ziel:
maintenance_page:
css:
theme:
css/admin-pages.css: { }
Auch ein Hinzufügen über das Theme-Template (meintheme.theme) führt nicht zum Ziel:
function my_theme_preprocess_maintenance_page(&$variables) {
$variables['#attached']['library'][] = 'meintheme/maintenance_page';
}
Wie kann man nun kleine CSS-Anpassungen auf den Admin-Seiten bzw. hier eigentlich nur auf den Node - Edit - Seiten in Drupal 8 durchführen, wenn Seven als Verwaltungstheme verwendet wird und die CSS-Anpassungen im eigenen Theme "meintheme" gemacht werden sollen?
Danke.
- Anmelden oder Registrieren um Kommentare zu schreiben
Du solltest dazu eine
am 31.05.2016 - 08:27 Uhr
Du solltest dazu eine Ableitung von Seven erstellen und dort eine eigene CSS-datei einbinden. Dieses abgeleitete Theme nimmst Du dann als Verwaltungstheme. Das war bei Drupal 7 aber nicht anders.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
zwingend Seven verwenden?
am 31.05.2016 - 09:45 Uhr
Danke.
Darauf bin ich inzwischen auch schon gekommen. Das geht dann, wenn man Seven als Base Theme verwenden möchte. Wann macht Seven als Base Theme Sinn und wann eher Bartik oder ein anderes? Wie entscheidet man das?
Es gibt also keine sinnvolle Möglichkeit, eine css-Datei "admin-pages.css" so im Theme einzubauen, dass diese CSS-Datei nur aber unbedingt dann geladen wird, wenn man sich im Admin-Bereich befindet oder wenn man Inhalte bearbeitet (mit Seven als Admin-Theme auch beim Bearbeiten von Nodes).
Man muss also zwingend Seven als Base Theme verwenden nur weil man eine einzige CSS-Anweisung implementieren möchte, welche auf /node/x/edit Auswirkung hat.
Versuch es so:
am 31.05.2016 - 14:13 Uhr
Sicherlich gibt es einen Weg dafür. Meinen Meinung nach sollte man in solchen Fällen im Rahmen von einen Custom Modul durch hook_form_alter (oder hook_form_FORM-ID_alter) wie im D7 eine CSS Datei anschließen ("attachment"), welche nur bei den Backend Formular eingebunden wird.
Bitte ändere die standard Theme nicht da nach einen Update der Entwickler nach dir solche Änderungen wieder überspielt.
Schau dir folgendes an:
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func...
https://www.drupal.org/node/2278795
https://www.drupal.org/node/2575207
Hoffentlich wird dir dies weiterhelfen.
There is a module for that :).
D8
am 31.05.2016 - 13:56 Uhr
Danke, ich habe inzwischen schon eine ganz andere Lösung gefunden, dennoch ist es interessant, wie man das lösen könnte.
Und es müsste eine Lösung für Drupal 8 sein.