Drupal8 社区文档之主题文件夹结构

主题是一组文件,定义了表示层。你也可以创建一个或多个“子主题”或主题变奏曲。只有。info.yml文件是必需的,但最重要的主题和分主题将使用其他文件以及。本页列出的文件和文件夹,发现在一个典型的主题或主题。

定位主题

你必须把主题在你的Drupal安装的“主题”文件夹。注意,Drupal主题如Bartik七位于core/themes的安装文件夹。

是很好的练习的地方提供的主题在子文件夹命名为“贡献”和你自己的主题,在一个名为“自定义”。

每个主题都包含在一个目录下的主题本身后。例如fluffiness/。名称必须是小写字母,一个字母开始,并使用下划线(_)而不是空间。

你的(部分)结构Drupal的安装可能看起来如下:

|-core
  |  |-modules
  |  |-themes
  |  |  |-bartik
  |  |  |-seven
  ..
  |-modules
  |-themes
  |  |-contrib
  |  |  |-zen
  |  |  |-basic
  |  |  |-bluemarine
  |  |-custom
  |  |  |-fluffiness

主题文件夹结构

这是文件和文件夹是在主题文件夹中找到典型结构实例:

 |-fluffiness.breakpoints.yml
  |-fluffiness.info.yml
  |-fluffiness.libraries.yml
  |-fluffiness.theme
  |-config
  |  |-install
  |  |  |-fluffiness.settings.yml
  |  |-schema
  |  |  |-fluffiness.schema.yml
  |-css
  |  |-style.css
  |-js
  |  |-fluffiness.js
  |-images
  |  |-buttons.png
  |-logo.png
  |-screenshot.png
  |-templates
  |  |-maintenance-page.html.twig
  |  |-node.html.twig

下面是一个描述最常见的文件,你可以在一个主题发现。

info.yml *。

一个主题必须包含一个info.yml文件定义的主题。。其他的事情之一。info.yml文件定义了元数据,图书馆,和块区。这是唯一需要在主题文件。

libraries.yml *。

这个。libraries.yml文件是用来定义JavaScript和CSS库可以通过主题装。

breakpoints.yml *。

断点定义响应的设计需要改变以应对不同的设备。断点是定义在一个breakpoints.yml文件。

*。主题

的。主题文件是一个PHP文件包含所有的逻辑和数据(预)的输出处理。

CSS

这是很好的做法,店。在“CSS”子文件夹中的CSS文件。Drupal 8核心主题组织CSS文件后,smaccs风格指南。一个主题加载CSS文件必须libraries.yml文件中定义的。重写或删除。info.yml文件

JS /

主题特定的JavaScript文件存储在“JS”文件夹。一个主题加载JavaScript文件必须libraries.yml文件中定义的。

图像

这是很好的做法,存储的图像在images文件夹的子文件夹。

screenshot.png

如果一个screenshot.png文件在主题文件夹中找到并将外观采用页。或者你可以在info.yml文件定义一个截图。

如果在主题文件夹中找到一个你的主题LOGO的SVG矢量文件,然后可以在网站的标题。标志也可以上传外观>设置

模板/

模板提供的HTML标记和表示逻辑。相反,Drupal 7,在Drupal 8模板文件(*. html.twig文件)必须保存在“模板”文件夹的子文件夹。如果你遵循特定的命名规则,那么Drupal将由您提供的替换默认的核心模板,允许你重写默认的标记。

核心主题Bartik的文件夹结构

为例,看看Bartik的文件夹结构,位于core/themes/ bartik:

  |-bartik.breakpoints.yml
  |-bartik.info.yml
  |-bartik.libraries.yml
  |-bartik.theme
  |-color
  |  |-color.inc
  |  |-preview.css
  |  |-preview.html
  |  |-preview.js
  |-config
  |  |-schema
  |  |  |-bartik.schema.yml
  |-css
  |  |-colors.css
  |  |-layout.css
  |  |-maintenance-page.css
  |  |-print.css
  |-images
  |  |-add.png
  |  |-required.svg
  |  |-tabs-border.png
  |-logo.svg
  |-screenshot.png
  |-templates
  |  |-block--search-form-block.html.twig
  |  |-block--system-branding-block.html.twig
  |  |-block--system-menu-block.html.twig
  |  |-block.html.twig
  |  |-comment.html.twig
  |  |-field--taxonomy-term-reference.html.twig
  |  |-maintenance-page.html.twig
  |  |-node.html.twig
  |  |-page.html.twig
  |  |-status-messages.html.twig
原文地址:https://www.cnblogs.com/shanyansheng/p/5442678.html