Drupal8.7.6下分类和内容页模板名称、代码的定制

  Drupal8.7.6环境下,对内容进行分类,可以通过“管理->结构->分类->添加词汇表->添加术语”的功能来实现。

drupal分类列表页模板
 
  既然是对内容进行分类,那么分类涉及到的列表页、内容页就与内容实体的列表页、内容页模板是相关了。这么说,可能有点泛,下面举例来说。
 
  白龙SEO在Drupal8.7.6后台发了N篇新闻,要想在网站中显示,一般会涉及到新闻的列表页和内容页(当然还有首页新闻的显示,这里不讨论),相应的,就涉及对应实体的模板。一般来说,新闻列表使用类似page--news.html.twig的模板来显示前端数据,而内容页要正常显示,需要同时使用page--node--%.html.twig、node.html.twig两个模板,并借助{{page.content}}变量关联两个模板。
 
  基于以上数据,如果要把N篇新闻分成“新闻类、域名类、虚拟主机类”等不同的类别,一是要通过通过“管理->结构->分类->添加词汇表->添加术语”的功能来实现后台输入时分类;二是前端显示分类名称及分类列表、分类内容,分类名称是通过VIEWS视图输出的,这里重点讨论分类列表、分类内容涉及的page--taxonomy.html.twig、node--teaser.html.twig两个模板,page--taxonomy.html.twig模板可以用page--node--%.html.twig模板的内容输出,而node--teaser.html.twig的输出内容可以与node.html.twig的输出内容不同,如果要显示为列表的话,就用列表页的代码作为输出模板,如果要显示为内容带摘样式的话,就默认使用node.html.twig即可。

drupal内容页模板
 
  需要说明的是,分类用node--teaser.html.twig,内容用node.html.twig,同时修改输出内容的HTML+CSS,即可区分分类输出与内容页的输出。
 
  此外,上述模板的使用技巧,都可以通过debug模式的suggestiongs来选择。