Я создал свою собственную тему 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 }
Я использую "Семь" в качестве темы администратора.
Когда я редактирую страницу (/ node / x / edit), используется тема Seven.
Теперь я должен добавить CSS в форму редактирования. Как я могу это сделать? style.css загружается только на интерфейсные страницы. Редактирование страниц использует семь тем, и моя тема CSS игнорируется.
Как я могу добавить CSS на страницы администратора или редактировать формы в Drupal 8?
I do not want to mix themes, I only want to add one simple CSS!
это считается смешением в Drupal. Единственный вариант, который у вас есть, - это создать подтему «Семь» или «взломать» семерку, которая есть в теме,/core/themes/
но вы потеряете изменения при каждом обновлении drupal 8. Таким образом, вы должны будете не забывать загружать переопределенный файл .css каждый раз Вы обновляете D8. Поэтому вам лучше создать подтему Seven и использовать ее в качестве темы администратора, поскольку подтема будет расположена в/themes
папке, а не внутри/core/themes
.Модуль, который вы ищете, теперь называется Asset Injector . С его помощью вы сможете добавлять CSS через пользовательский интерфейс, как упомянул @Whatwatt.
источник
Если вы создаете подтему для Seven и используете ее в качестве темы администратора, вы можете добавить свои собственные переопределения css в файл seven_subtheme.info.yml, не вмешиваясь в основную тему и не путая обязанности темы. Подтема должна иметь только файл info.yml и css и наследовать все остальное.
Судя по звукам, вы в основном озабочены изменением CSS, используемого редактором wysiwyg (ckeditor), поэтому вместо этого вы можете захотеть добавить
ckeditor_stylesheets
в свой файл info.yml. Обратите внимание, что, как объяснено в этом выпуске , cksitor css действительно может быть добавлен из вашей темы, так как редактор wysiwyg должен использовать css темы не-admin по умолчанию (не забудьте очистить кеш после добавления этого).источник
Установите модуль CSS Injector (в настоящее время существует только рабочая версия для разработки для Drupal 8).
Затем перейдите на страницу администрирования CSS Injector ( / admin / config / development / css-injector ). Создайте новое правило CSS. Например, чтобы изменить цвет фона поля:
Выберите применить это правило к Семи темам (или любой используемой теме администратора).
Сохранить и наслаждаться!
источник
Для работы с любой темой администратора я использовал ответ AdamS и изменил настройку на.
источник
Почему бы не создать блок, вызывающий css, и вставить его в заголовок ваших страниц администратора?
@import url ("/ themes / XYZ / css / admin_overrides.css")
источник
Вы можете добавить админ CSS из хука модуля. Замените XXX на имя модуля.
1 Поместите свой CSS в css / extra.admin.css
2 Объявите библиотеку, создав XXX.libraries.yml
3 Создайте хук для загрузки библиотеки.
/ **
* Реализует hook_page_attachments ().
* /
источник
я бы создал отдельную дочернюю тему для фронт-офиса и бэк-офиса
источник