xiaopang 星期一, 04/08/2013 - 20:04 发布

我想了半个小时,想怎么清楚简单的为大家解释drupal8的模版命名规则,但是很显然,我失败了,但是我依然会尽量为大家说出drupal模版命名规则。

drupal通过路径来寻找模版

这个路径是drupal的内部路径,不是你为节点选取的drupal别名,只有html和page模版可以直观的通过路径来确定命名规则。
当我们访问http://domain.com/node/1(后面的内容我们省去域名),模版命名规则如下:

html模版

通过html--front.tpl.php定义首页html模版文件。
通过html--node.tpl.php来定义node/1模版文件。
html.tpl.php为默认的html模版文件。

page模版

page.tpl.php
page--node.tpl.php
page--node--%.tpl.php
page--node--1.tpl.php

node模版

node模版除了可以根据路径来确定命名规则,还可以通过节点类型来确定命名,例如node/1这个文章为article类型:
node.tpl.php
node--article.tpl.php
node--3.tpl.php
drupal默认只有page和node可以直观的通过路径来确定模版名。

block模版

如果我们有一个区块,他位于help区域,id为2:
block.tpl.php
block--help.tpl.php
block--block.tpl.php
block--block--2.tpl.php

region模块

接着我们来定义region区域的模版文件:
region.tpl.php
region--help.tpl.php

如果你使用了编写template.php文中给出加速开发的代码你还可以通过采用page--pagetype.tpl.php的形式来命名page模版,使用它html--pagetype.tpl.php来命名html模版。
例如:
html--article.tpl.php
page--article.tpl.php