基础篇16. Drupal网站的文件夹构成,主题的文件构成

让我们回到编辑器,看一下Drupal网站的文件夹构成。

  • core文件夹放的是drupal核心的代码。它的里面包含了modules和themes文件夹,用于放置核心的模块和主题。比如,网站默认的主题bartik就在core文件的themes文件夹中。
  • modules文件夹是自定义和下载的模块。
  • profiles放的是安装包。
  • sites中放一些网站的文件,比如用户上传的文件和网站的配置文件。
  • themes 文件夹是自定义和下载的主题。比如我们后来下载并安装的bootstrap主题。
  • tmp 文件夹是放置临时文件。这个文件夹在网站安装之后是没有的,我们在第14节解决无法移动文件的错误的时候,修改临时文件目录的时候才生成的。
  • vendor文件夹放的是核心代码所依赖的库

然后,我们再来看看Drupal主题的文件构成:

.info.yml

所有Drupal主题都必须包含这个文件,但内容可以不一样。这个文件继承于之前(D7及以前)的.info文件,作用是一致的,包含的信息也大致相同。建立Drupal主题的第一步就是建立.info.yml文件。它描述Drupal主题系统:主题名、适用版本以及对区域(region)的定义、全局加载的库等。

templates文件夹及.html.twig

.html.twig文件即模版文件,相当于D7中的.tpl.php文件。用于为Drupal网站的页面提供HTML标签。如果你根据Drupal的模板命名规则在自己的主题中创建某个模板文件,Drupal的主题系统会自动使用你的模板来替换默认的模板文件。通过这种方式你就可以修改页面上的HTML标签。这个方式在Drupal中有一个专门的术语叫作覆写。关于覆写我们以后还会专门讲。

在D8中模版文件即.html.twig文件必须被放置在主题文件夹的“templates”子文件夹中。

覆写的概念模版覆写的相关要点、方法与D7一致,在我的上一本书中的相关内容至今依然值得一读。你可以在文档中找到他们的链接。

.libraries.yml

这个文件用于定义库,库中包含了各种CSS和JS文件。在D7时代,加载CSS和JS有很多不同的选择,这其中包含最容易最普遍的方式——在info文件中加载他们——我在上一本书中用了很多篇幅来讲解这些要点。然而,在D8中,info文件已经不再用于加载CSS和JS,因为所有的CSS和JS都通过库的形式加载。

.breakpoints.yml

顾名思义,这个文件用于定义断点。断点是响应式页面设计的基础,而D8对响应式设计这一网页设计趋势的支持,就直接体现在这个文件上。至少,到目前为止,在Drupal8的后台管理界面中,并没有一个界面让你去定义断点,所以你必须在这个文件中定义它们。

.theme

这个文件相当于D7中的template.php文件。他们都是PHP文件,包含主题输出所需的大多数逻辑判断及数据输出之前的(预)处理函数。

以上都是Drupal主题特有的文件,除了他们之外,还有一些网站前端所必需的文件,如CSS、JS、图片、网站logo文件logo.svg、网站缩略图文件favicon.ico以及用于在后台管理界面中显示的主题界面截图文件screenshot.png。关于这些文件以及模版文件的说明你还可以参考文档中的链接。《Drupal7主题的文件结构》

除了上述最常见的文件会出现在Drupal主题文件夹中,人们还会借助一些前端工具来制作他们的主题,比如sass,compass,less,grunt, bower,bundlr和jslint,这些工具还会带来他们各自特有的支持文件,如config.rb,Gemfile,Gruntfile.js,由于他们属于前端课程范畴,因此不作详述。

本书共83小节:

评论 (写第一个评论)