Создание подтемы в Drupal 9: методы и примеры

Создание подтемы в Drupal 9 позволяет вам настраивать и расширять внешний вид вашего веб-сайта Drupal, сохраняя при этом преимущества базовой темы. В этой статье блога я расскажу вам о нескольких методах создания подтемы в Drupal 9, а также приведу примеры кода.

Метод 1. Создание подтемы с помощью команды консоли Drupal:

Шаг 1. Установите консоль Drupal глобально, выполнив следующую команду:

composer global require drupal/console:@stable

Шаг 2. Перейдите в корневой каталог Drupal и выполните следующую команду, чтобы создать подтему:

drupal generate:theme

Следуйте инструкциям и введите необходимую информацию, такую ​​как базовая тема, имя темы и имя компьютера.

Метод 2. Создание подтемы вручную:

Шаг 1. Перейдите в каталог тем Drupal (обычно он находится по адресу /themes).

Шаг 2. Создайте новый каталог для своей подтемы, например, my_subtheme.

Шаг 3. Внутри каталога подтемы создайте файл my_subtheme.info.ymlи определите необходимую информацию:

name: 'My Subtheme'
type: theme
base theme: 'base_theme_name'
description: 'Custom subtheme based on the base theme.'
core_version_requirement: ^9 || ^8

Шаг 4. Создайте файл my_subtheme.libraries.yml, включающий файлы CSS и JavaScript:

my_subtheme:
  css:
    theme:
      css/style.css: {}
  js:
    js/script.js: {}

Шаг 5. Создайте файл my_subtheme.theme, чтобы добавить пользовательские функции PHP и изменить настройки:

<?php
use Drupal\Core\Form\FormStateInterface;
/
 * Implements hook_form_system_theme_settings_alter().
 */
function my_subtheme_form_system_theme_settings_alter(&$form, FormStateInterface $form_state) {
  // Add custom theme settings here.
}

Способ 3. Создание подтемы с помощью модуля Starterkits:

Шаг 1. Установите и включите модуль Starterkits.

Шаг 2. Запустите следующую команду, чтобы создать подтему на основе стартового набора:

drush starterkit:theme my_subtheme

Следуйте подсказкам и выберите нужный стартовый набор.

После того как вы создали свою подтему с помощью любого из упомянутых выше методов, включите ее в панели администрирования Drupal, и вы сможете начать настраивать внешний вид, изменяя файлы CSS, JavaScript и PHP, относящиеся к вашей подтеме.