要创建Drupal 8主题,您需要首先创建一个文件,该文件分享有关Drupal主题的元数据。这与模块和安装配置文件的定义方式相似,因此,为了区分它,将文件中的“类型”键设置为“主题”非常重要。THEMENAME.info.yml
.info.yml
该页面分享了一个示例文件以及该文件可以包含的信息的概述。THEMENAME.info.yml
创建一个.info.yml文件
在主题文件夹的根目录中创建.info.yml文件。该文件夹应该与.info.yml文件具有相同的名称。所以如果你的主题被命名为“蓬松”,那么该文件夹被命名为“蓬松/”,并且该文件被命名为“蓬松/蓬松.info.yml”。如果文件存在,您的主题将显示在您的网站Manage> Appearance(http://example.com/admin/appearance)中。请记住选择一个尚未被模块或不同主题使用的主题名称。主题名称必须是Drupal设置中的唯一名称。否则,主题组件将无法正确加载。.info.yml
将主题名称中的空格替换为文件夹名称中的下划线(和.info.yml文件名)。
如果您不熟悉YAML文件结构,请阅读对YAML文件格式的快速介绍。
- 标签是不是允许。只能使用空格。
- 属性和列表务必缩进两(2)个空格。
例
name: Fluffinesstype: themedescription: 'A cuddly theme that offers extra fluffiness.'core: 8.xlibraries: - fluffiness/global-stylingbase theme: classyregions: header: Header content: Content sidebar_first: 'Sidebar first' footer: Footer
在您的Drupal网站中,通过查看核心分享的主题,您可以找到更多.info.yml文件的示例。例如,打开文件夹并查找文件。core/themes/stark
stark.info.yml
键/值对
以下键/值对分享有关您主题的元数据并定义一些基本功能。(见)\Drupal\Core\Extension\InfoParserInterface::parse()
- name (required)
- type (required)
- description (optional)
- package (optional)
- core (required)
- php (optional)
- version (optional)
- libraries (optional)
- libraries-override (optional)
- base theme (recommended)
- hidden (optional)
- engine (optional)
- screenshot (optional)
- regions (optional)
- regions_hidden (optional)
- features (optional)
- stylesheets-remove (deprecated)
- ckeditor_stylesheets (optional)
名称(必填)
人类可读的名字。这将出现在激活主题的“外观”页面上。
name: Fluffiness
类型(必填)
指示扩展的类型,即“模块”,“主题”或“配置文件”。对于主题,应始终设置为“主题”。
type: theme
描述(可选)
描述显示在“外观”页面上。
description: An extra cuddly Drupal theme available in grey and blue.
包(可选)
指定一个允许您将主题组合在一起的“包”。
package: Core
核心(必需)
指定主题兼容的Drupal核心版本。
core: 8.x
php (可选)
PHP需要的最低版本。缺省值为DRUPAL_MINIMUM_PHP
常量。
php: 5.5.9
版本(可选)
指定一个版本。对于drupal.org托管的主题,版本号将由包装脚本填充。不要手动指定它,但完全忽略版本行。
version: 8.x-1.0
库(可选)
可以添加到主题处于活动状态的所有页面的库列表(可以包含CSS和JavaScript资源)。了解更多关于主题和资产库的信息。
libraries: - fluffiness/global-styling
库覆盖(可选)
要覆盖的库和资产的集合。阅读更多重写和扩展库。
libraries-override: contextual/drupal.contextual-links: css: component: /core/themes/stable/css/contextual/contextual.module.css: false
基本主题(推荐)
主题可以通过将其指定为基本主题来继承其他主题的资源。它建议使用上等或稳定(稳定是如果密钥不分享缺省值) -这使得它更容易为你的主题继承核心主题化的未来变化。
base theme: classy
隐藏(可选)
指示是否将主题从“外观”页面隐藏,以使其无法通过UI启用/禁用。
hidden: true
引擎(可选)
主题引擎。默认为“twig”。
engine: twig
截图(可选)
相对于主题文件的截图路径。屏幕截图应该是588像素宽和438像素高,尽管它们以较小的尺寸显示。默认情况下,Drupal会在您的主题文件夹的根目录中查找名为“screenshot.png”的文件,并将其用作“外观”页面上的主题图像。 .info.yml
screenshot: fluffiness.png
地区(可选)
主题区域列表。(请注意,区域键前面没有短划线。)content
区域是必需的。详细了解如何将区域添加到主题。
regions: header: Header content: Content sidebar_first: 'First sidebar'
regions_hidden (可选)
要删除的继承区域的列表。
regions_hidden: - sidebar_last
功能(可选)
主题“设置”页面上显示的功能列表。
features: - comment_user_verification - comment_user_picture - favicon - logo - node_user_picture
stylesheets-remove (不建议使用)
来自其他模块或主题的样式表列表,可从主题处于活动状态的所有页面中删除。当存在多个具有相同名称的文件时,每个值必须是相对于docroot的完整路径以解决歧义。在文件是属于模块或主题的库的一部分的情况下,@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
英文:drupal.org