Drupal8网站建设中,drupal8主题是定义展示层的文件的聚集。你也可以给予一个主题创建一个或者多个子主题。只有.info.yml文件是必须的,但是大多数的主题和子主题都将要使用其他的文件。这个页面将列出一个典型的主题或者子主题的文件和文件夹。
Drupal8主题的位置
你必须复制Drupal8主题到你安装的Drupal的"themes"文件夹下面。注意,Drupal8的核心主题蔽日bartik 和seven 位于core/themes文件夹下。
把第三方的主题复制到命名为contib的文件夹下,把自定义的主题复制到custom目录下是一个好习惯。
每一个Drupal8主题都包含在一个以主题自身来命名的文件夹下。名字必须:小写、以字母开始、使用下划线代替空格。Drupal8的安装目录如下:
|-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
一个Drupal8必须包含一个.info.yml文件。
.libraries.yml
.libraries.yml文件用于定义jiavaxript 和css libraries
breakpoints.yml
断点定义哪些地方相应式设计需要修改,为了适应不同的设备。断点的设置:https://www.drupal.org/documentation/modules/breakpoint
.theme
这是一个php文件,包含所有的可能的逻辑和(预)处理数据。
css/
把css文件存储在css文件夹中是一个好习惯。主题要加载css文件,这个css文件必须在.libraties.yml文件中被定义,并且可以在.info.yml文件中被覆盖或者删除。
js/
把js文件存储在js文件夹中是一个好习惯。主题要加载js文件,这个js文件必须在.libraties.yml文件中被定义。
images/
存放主题用到的图片文件
screenshot.png
如果一个screenshot.png 文件在主题中被找到,那么这个图片将用于主题设置页面,可以在.info.yml文件中定义screenshot。
logo.svg
tempates/
模板提供html标记和演示逻辑;与Drupal7相反,Drupal8的模板文件必须存储在template子目录中,如果你熟悉命名规范,Drupal将用你自己提供的模板文件替换核心的模板文件,允许你覆盖默认的标记。