Drupal主题目录结构及主题文件介绍

zhangzhijun 2次浏览 0个评论

一、drupal目录结构

Drupal的主题可以理解为通过一些文件的集合定义drupal的展现层。用户可以定义一个或多个子主题。定义主题时,只有*.info.yml文件时必须的,其他主题或子主题的文件都是按照实际的需要增加。

Drupal的自定义的主题必须要放到drupal安装目录下的themes文件夹下,核心主题(core themes)例外,是放到core/themes目录下的。将贡献主题(contributed themes)放到名为contrib的子文件夹,和你自己的主题放到custom的子文件夹下,是一种最佳实践。

主题的命名必须是小写字母,空格需要使用下划线替代。典型的drupal主题安装目录如下

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

下面是一个典型的主题目录结构:

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

二、drupal主题文件说明

以下是主题文件中各文件的说明:

  • *.info.yml:主题必须包含一个.info.yml文件,文件定义了metadata, 库文件和区域信息(block region). 这是drupal主题唯一一个必须包含的文件。
  • *.libraries.yml:定义了主题要使用的JavaScript和CSS库。
  • *.breakpoints.yml:断点文件,类似bootstrap的grid,用于适应不同分辨率的设备。
  • *.theme:一个PHP文件,包含所有的条件逻辑和输出的数据,也会包含一些主题的设置信息。
  • css:css文件目录,对应的css文件需要再.libraries.yml文件中定义,也可以被.info.yml文件覆写(overridden)或删除。
  • js:JavaScript文件目录,被主题引用的JavaScript文件,必须在.libraries.yml文件中定义。
  • images:图片目录
  • screenshot.png:主题截图
  • logo.svg:logo图片
  • templates:HTML文件目录和一些展现层逻辑文件的目录。可以按照子目录的方式归类各文件。

版权申明:

本博客所有文章除特别声明外均采用 BY-NC-SA 4.0 许可协议。依据 BY-NC-SA 4.0 许可协议,转载请附上原文出处链接及本声明。

原文链接: https://zhangzhijun.life/index.php/drupalzhutimulujiegoujizhutiwenjianjieshao.html

Default Avatar

评论

此字段内容将保密,不会被其他人看见。