Как можно создать свою тему на Drupal 8

Drupal: 
Уровень сложности: 

Свою тему нужно создавать по двум причинам. Редактирование тем ядра противоречит правилам доработки Друпал, а использование контрибных тем может стать причиной утраты дизайна, когда вы случайно обновите тему автоматически.
Предлагается создавать свои темы простым переименованием любой контрибной. Выбирайте такую тему, в структуре которой вам будет удобно разобраться. Так в Бартик 53 файла стилей, а в некоторых контрибных темах слишком много файлов шаблонов, разбитых на подпапки. Некоторые темы имеют хорошие функции адаптивного дизайна, в других возможны баги. Обзор шаблонов для Друпал 8 представлен тут.

Как создать свою тему, копируя Bartik:

  1. Скопируйте папку /core/themes/bartik на компьютер.
  2. Замените слово bartik на название вашей темы, например, site_theme, во всех служебных файлах в корне темы, также в файлах в папках templates, color, а также в этом файле: config/schema/bartik.schema.yml
    Я выполняю замену программой Geany (Linux), для Windows есть программа Text Replace TR. Или это можно сделать в консоли линукс с помощью sed.
  3. Переименуйте все файлы, содержащие в имени bartik, и замените это слово именем вашей темы site_theme
  4. Измените название папки темы на site_theme - в именах тем используется нижнее подчёркивание на месте пробела как в именах файлов, так и в названиях php-функций. Если вы хотите избежать путаницы, используйте одно слово, например, sitetheme.
  5. Закачайте новую тему на сайт в папку themes.
  6. Активируйте тему в меню "Оформление"

Если всё получилось, вы сможете редактировать файлы шаблонов, стилей, изменить скриншот внутри темы для удобства.

Две команды: массовое переименование файлов с рекурсией в Linux и массовая замена текста в файлах с рекурсией в Linux

Если вы пользуетесь Линукс, то вот конкретные рекомендации как переименовать контрибную тему (на примере Paxton):

1) Переименовать все файлы в папке и вложенных папках. Откройте в консоли (терминале) папку темы и выполните команду переименования paxton на moyatema (или ваше название):

find . -name '*paxton*' -print0 | xargs -0 -n1 bash -c 'mv "$0" "${0/paxton/moyatema}"'

2) Заменить имя темы в текстах файлов. В консоли пропишите следующую команду поиска и замены текста в файлах:

grep 'paxton' -P -R -I -l * | xargs sed -i 's/paxton/moyatema/g'

3) Вручную измените имя папки и имя темы, описание в файле moyatema.info.yml.

 

Эта процедура выполнена автором поста для двух тем:

  • Themy (рекомендовано) - оптимизированный клон Paxton - адаптивная тема, без лишних JS, шаблонов, с выпадающим меню на CSS.
  • Thisis - клон темы Bartik из ядра Drupal 8.0.0-rc3.
Рубрика: