Определение темы с помощью файла .info.yml
Чтобы создать тему Drupal 8, сначала необходимо создать файл THEMENAME.info.yml, который предоставляет метаданные о вашей теме в Drupal. Это похоже на то, как определяются модули и профили установки, и поэтому важно установить ключ «type» в файле file.info.yml как «theme», чтобы отличить его.
Эта страница содержит пример файла THEMENAME.info.yml и обзор информации, которую может содержать файл.
Создайте файл .info.yml
Создайте файл .info.yml в корне папки вашей темы. Папка должна иметь то же имя, что и файл .info.yml. Поэтому, если ваша тема называется «Fluffiness», тогда папка называется «fluffiness/», а файл .info.yml называется «fluffiness/fluffiness.info.yml». Если файл присутствует с минимально необходимыми свойствами (имя, тип и ядро), ваша тема будет отображаться на вашем веб-сайте в разделе «Управление> Внешний вид» (http://example.com/admin/appearance). Не забудьте выбрать название темы, которое еще не используется модулем или другой темой. Имя темы должно быть уникальным в настройках Drupal. В противном случае компоненты темы не будут загружены должным образом.
Замените пробелы в имени темы символами подчеркивания в имени папки (и имени файла .info.yml).
Если вы не знакомы со структурой файлов YAML, прочтите краткое введение в формат файлов YAML.
- Вкладки НЕ допускаются. Используйте ТОЛЬКО пробелы.
- Свойства и списки ДОЛЖНЫ иметь отступ в два (2) пробела.
Пример
name: Fluffiness type: theme description: 'A cuddly theme that offers extra fluffiness.' core: 8.x libraries: - fluffiness/global-styling base theme: classy regions: header: Header content: Content sidebar_first: 'Sidebar first' footer: Footer
На вашем сайте Drupal вы можете найти больше примеров файлов .info.yml, взглянув на темы, предоставленные ядром. Например, откройте папку andcore/themes/stark и найдите файл stark.info.yml.
Пары ключ/значение
Следующие пары ключ/значение предоставляют метаданные о вашей теме и определяют некоторые основные функции. (См. \Drupal\Core\ Extension\InfoParserInterface::parse().)
- name (обязательно)
- type (обязательно)
- description (необязательно)
- package (необязательно)
- core (обязательно)
- php (необязательно)
- version (необязательно)
- libraries (необязательно)
- libraries-override (необязательно)
- libraries-extend (необязательно)
- base theme (рекомендуется)
- hidden (необязательно)
- engine (необязательно)
- logo (необязательно)
- screenshot (необязательно)
- regions (необязательно)
- regions_hidden (необязательно)
- features (необязательно)
- stylesheets-remove (не рекомендуется)
- ckeditor_stylesheets (необязательно)
name - имя (обязательно)
Человекочитаемое имя. Это появится на странице «Внешний вид», где тема активирована.
name: Fluffiness
type - тип (обязательно)
Указывает тип расширения, т. е. «модуль», «тема» или «профиль». Для тем это всегда должно быть «тема». Это значение чувствительно к регистру.
type: theme
description - описание (необязательно)
Описание, отображаемое на странице «Внешний вид».
description: An extra cuddly Drupal theme available in grey and blue.
package - пакет (необязательно)
Определяет «пакет», который позволяет группировать темы вместе.
package: Core
core (обязательно)
Определяет версию ядра Drupal, с которой тема совместима.
core: 8.x
php (необязательно)
Требуется минимальная версия PHP. По умолчанию используется значение константы DRUPAL_MINIMUM_PHP.
php: 5.5.9
version - версия (необязательно)
Определяет версию. Для тем, размещенных на drupal.org, номер версии будет заполнен сценарием упаковки. Не указывайте это вручную, но полностью исключите строку версии.
version: 8.x-1.0
libraries - библиотеки (необязательно)
Список библиотек (которые могут содержать ресурсы как CSS, так и JavaScript) для добавления на все страницы, где активна тема. Узнайте больше о темах и библиотеках ресурсов.
libraries: - fluffiness/global-styling
libraries-override - переопределение библиотек (необязательно)
Коллекция библиотек и ресурсов для переопределения. Читайте больше в Переопределяющих и расширяющих библиотеках.
libraries-override: contextual/drupal.contextual-links: css: component: /core/themes/stable/css/contextual/contextual.module.css: false
libraries-extend - расширение библиотеки (необязательно)
Коллекция библиотек и ресурсов, добавляемых при подключении библиотеки. Читайте больше в Переопределяющих и расширяющих библиотеках.
libraries-extend: core/drupal.user: - classy/user1 - classy/user2
base theme - базовая тема (рекомендуется)
Тема может наследовать ресурсы от другой темы, указав ее в качестве базовой темы. Рекомендуется использовать стильный или стабильный (по умолчанию стабильный, если ключ не указан) - это облегчит вашей теме наследование будущих изменений в основной тематике.
base theme: classy
hidden (необязательно)
Указывает, следует ли скрыть тему со страницы «Внешний вид», чтобы ее нельзя было включить / отключить с помощью пользовательского интерфейса.
hidden: true
engine (необязательно)
Тематический движок. По умолчанию используется "веточка".
engine: twig
logo - логотип (необязательно)
См. Запись об изменении: https://www.drupal.org/node/2939152
Путь к логотипу относительно файла темы .info.yml. По умолчанию Drupal будет искать файл с именем "logo.svg" в корне папки вашей темы и использовать его в качестве логотипа темы.
logo: images/logo.png
screenshot - скриншот (необязательно)
Путь к скриншоту относительно файла темы .info.yml. Снимки экрана должны быть шириной 588 пикселей и высотой 438 пикселей, хотя они отображаются в меньшем размере. По умолчанию Drupal будет искать файл с именем «screenshot.png» в корневом каталоге вашей темы и использовать его в качестве изображения темы на странице «Внешний вид».
screenshot: fluffiness.png
regions - регионы (необязательно)
Список тематических регионов. (Обратите внимание, что ключам региона не предшествует тире.) Узнайте больше о добавлении регионов в тему.
regions: header: Header content: Content sidebar_first: 'First sidebar'
regions_hidden (необязательно)
Список унаследованных регионов для удаления.
regions_hidden: - sidebar_last
features - особенности (необязательно)
Список возможностей выставить на странице темы «Настройки».
features: - comment_user_verification - comment_user_picture - favicon - logo - node_user_picture
stylesheets-remove - таблицы стилей - удалить (не рекомендуется)
Список таблиц стилей из других модулей или тем для удаления со всех страниц, где тема активна. Каждое значение должно быть полным путем относительно документа, чтобы устранить неоднозначность, если существует более одного файла с одинаковым именем. В тех случаях, когда файл является частью библиотеки, принадлежащей модулю или теме, вместо полного пути можно использовать токен в форме @module_or_theme_name. Обратите внимание, что при использовании токена значение должно быть заключено в кавычки, потому что «@» является зарезервированным индикатором в YAML. Примечание. Этот ключ устарел и будет удален в Drupal 9. В большинстве случаев следует использовать libraries-override.
stylesheets-remove: - core/assets/vendor/normalize-css/normalize.css - '@classy/css/components/tabs.css'
ckeditor_stylesheets (необязательно)
Список таблиц стилей, добавляемых в кадр CKEditor.
ckeditor_stylesheets: - https://fonts.googleapis.com/css?family=Open+Sans - css/base/elements.css
Больше информации
- Добавление таблиц стилей (CSS) и JavaScript (JS) в тему Drupal 8
- Полное описание всех ключей, доступных в файле * .info.yml, можно найти в: Позвольте Drupal 8 узнать о вашем модуле с файлом .info.yml.
- Изменить запись: файлы .info теперь являются файлами .info.yml
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.