Очень много или я бы сказал большая масса на сегодня информации о системе управления контентом DRUPAL в сети Интернет устарела в русскоязычном сегменте. Устарела и не соответствует действительности. Связано это с тем, что ядро CMS было переписано, и существующая сегодня ветка 10.х не имеет ни чего общего со старыми версиями. Не поддерживаются ни модули, ни темы и уж тем более рекомендации или даже мнения из Интернета определённой давности.
Итак, написано это к тому, что по умолчанию теперь при развёртывании на сервере Drupal в ядре уже находится базовая тема. Если читать некоторую информацию в сети, то можно увидеть речи о том, что Drupal это просто ядро и всё остальное, начиная от текстового редактора и заканчивая темой вы должны собирать вручную. Это давно уже не так, и всё что нужно для работы, в том числе базовая тема, уже есть в ядре этой CMS.
Для наглядности на картинке выше где в файловом менеджере открыт каталог с сайтом для наглядности стрелками указал под номером 1 каталог /theme для устанавливаемых сторонних тем или тем которые будет разрабатывать программист.
А под номером 2 указан каталог /core. Это само ядро Drupal и при обновлении CMS этот каталог полностью заменяется на сервере. По этому это очень важно! Потому что как раз базовая тема находится именно в этом каталоге и имеет путь:
ваш сайт/core/themes/olivero/
Тема Olivero - отличная новая базовая тема, представленная в Drupal 9.1. Старая тема для CMS Drupal имела название Bartik. Эта тема устарела в виду её просто устаревшего дизайна, который не соответствует современному качеству оформления. В особенности адаптации её к отображению на мобильных устройствах.
Чтобы переопределить любую тему, нам нужно создать дочернюю тему, это сохраняет родительскую тему нетронутой и легко обновляется в будущем. То есть чтобы можно было изменять базовую тему и при обновлении ядра не потерять все свои изменения требуется создать под тему базовой в каталоге сайте /themes. Выглядеть путь будет так:
ваш сайт/themes/имя вашей под темы
В данном получаем простоту обслуживания при обновлении разработчиками базовой темы Olivero.
Я не стал выдумывать название и назвал тему Oliveros, добавив к имени базовой темы букву S в конце слова. Как уже говорилось, мы переопределим тему Olivero.
То есть чтобы создать дочернюю тему, вам нужен только каталог с именем темы, а затем информационный файл с тем же именем и с некоторыми настройками.
Следующим шагом создайте текстовый файл в созданном вами каталоге для под темы. В моём случае он будет иметь название вида:
oliveros.info.yml
И добавьте в него следующую информацию:
name: Oliveros
type: theme
base theme: olivero
description: 'Расширение с базовыми переопределениями Olivero: чистая, доступная и гибкая тема интерфейса Drupal.'
package: Core
version: VERSION
core_version_requirement: ^10
regions:
header: Header
primary_menu: 'Primary menu'
secondary_menu: 'Secondary menu'
hero: 'Hero (full width)'
highlighted: Highlighted
breadcrumb: Breadcrumb
social: Social Bar
content_above: Content Above
content: Content
sidebar: 'Sidebar'
content_below: 'Content Below'
footer_top: 'Footer Top'
footer_bottom: 'Footer Bottom'
libraries:
- oliveros/global-styling
Итак получился минимальный информационный файл oliveros.info.yml
Перейдите в административную панель Drupal в меню "Оформление" и вы увидите, что он зарегистрирован в системе. Вы увидите, что появилась в списке тем ваша созданная только что под тема с именем которые вы указали в информационном файле.
Это значит что тема загружена в Drupal и готова к установке.
Для того что бы что-то менять в теме оформления необходимо переопределить css. Для этого мы уже добавили в информационном файле oliveros.info.yml информацию о наличии соответствующих библиотек и месте их нахождения.
libraries:
- oliveros/global-styling
Этот код информирует Drupal о том, что файл библиотеки существуют в нашем каталоге oliveros.
Теперь в каталоге вашей под темы создаёт этот каталог библиотек:
ваш сайт/themes/oliveros/css
Но для того что бы Drupal знал что эти библиотеки находятся именно в этом каталоге /css необходимо в каталоге под темы создать ещё один информационный файл с описанием этих библиотек. Поэтому теперь нам нужно его создать. В моём случае будет иметь имя:
oliveros.libraries.yml
Далее поместите в него следующий код:
global-styling:
version: VERSION
css:
theme:
css/base.css: {}
js:
theme:
js/base.js: {}
Минимальный информационный файл библиотек oliveros.libraries.yml
Этот код регистрирует глобальные стили и сообщает системе Drupal, где их найти.
Теперь далее создаём файл где и будет код с переопределениями оформления, то есть правка оформления базовой темы. Файл в моём случае будет иметь имя base.css
Создать его необходимо в каталоге css который я создал шаг назад. Будет иметь такой путь:
ваш сайт/themes/oliveros/css/base.css
Первое что мне хотелось сделать это убрать фон в виде фирменных капелек.
Открываю созданный мной файл base.css в моей под теме и добавляю туда код следующего вида:
body {
background-image: url("");
}
После сохранения изменений в файле очистите кеш и обновите страницу с сайтом в браузере.
В административной панели Drupal переходите в пункт меню "Конфигурация"
далее "Производительность"
и далее кнопка "Очистить кэш".
Имею следующий результат.
Как можно увидеть капельки в оформлении фона исчезли.