drupal主题开发

drupal8覆写views的用法,理解views的三层结构

日期:2017-04-01 阅读:4466

dmandwp系统 - wordpress系统和DM系统区块建站>>


进入网易云课堂播放
    |    更多视频教程>

前面讲过覆写内容类型>

这里,我们讲下覆写views:

有时,我们可以通过views的后台来覆写,比如加css的class。

或是覆写字段的输出。

只有当这些不能实现时,我们才开始使用覆写veiws文件。

参考下面的文档

http://redcrackle.com/blog/drupal-8/theme-views-templates (可能要翻墙)   查看代码>

http://www.maged.me/blog/drupal-8-override-views-field-template-twig

https://api.drupal.org/api/drupal/core!modules!views!views.theme.inc/group/views_templates/8.2.x

------------------------

简单的来说,规则如下
[base template name]--[view machine name]--[view display id].html.twig
[base template name]--[view machine name]--[view display type].html.twig
[base template name]--[view display type].html.twig
[base template name]--[view machine name].html.twig
[base template name].html.twig

--------
base template name包括:

可以简单的更多为三层 结构,
在core\modules\views\templates(或stable主题里)里可以查到:
第一层:views-view.html.twig
第二层:格式:views-view-unformatted.html.twig
其中unformatted可能是list或table或grid
 
第三层:显示:可以是content(可以用显示模式)或是字段,如果是字段则是views-view-fields.html.twig

对于views-view-field.html.twig,则是:
views-view-field--{views machine name}--{page or block machine name}--{field name}.html.twig
-------------
[view machine name]是当前views的机器名。
[view display type]一般是block或page
因为一个views下,可能有多个display,所以它有id。
[view display id]则是views display的机器名。
-------

views-view-fields.html.twig里,可以这样输出字段:

{{fields.title.content}}

{{fields.body.content}}

--------------------------

 

<<点击返回

Drupal8主题开发视频教程 (进入专题>)