Drupal8.7.6自定义主题后如何自定义面包屑导航?

  白龙之前写过Drupal8.7.6环境下自定义主题后如何自定义面包屑导航的文章《Drupal8.7.6如何输出面包屑导航?》,即:基于系统区块Breadcrumbs、Pagetitle实现“首页>栏目名称”、“首页>文章标题”的功能。
 
  如果要在列表页、内容页实现“首页>二级栏目>三级栏目”,要怎么办呢?显示,上述方法已经无法满足这个需求了。
 
  一、列表页三级面包屑导航的实现
 
  列表页的twig模板形式有两,一是page页面模板,二是taxonomy分类页面模板。不管哪种形式,他们都属于页面,都可以进行分类。既然可以分类,那么,就可以针对不同的分类页面,定制不同级别的面包屑导航静态区块与视图区块。然后通过{{page.breadcrumbs}}输出到不同的分类页面即可。
 
  二、内容页三级面包屑导航的实现
 
  内容页的模板是用node输出和分类的,所以,要在node模板中添加面包屑导航,就需要把面包屑导航与文章的标题、主体、日期等内容放置在一个区域内,然后,通过{{content.taxonomy2}}、{{content.taxonomy3}}分别输出二级面包屑导航、三级面包屑导航。也就是说,要定义两个分类实体taxonomy2、taxonomy3,并在内容类型中做好关联,这样通过内容类型,即可实现taxonomy2用来输出二级面包屑导航,taxonomy3用来输出三级面包屑导航。
 
  三、使用第三方模块定义面包屑导航
 
  除了上述方法外,就是使用模块了。
 
  CustomBreadcrumbs,可以自定义每个节点的面包屑;
 
  MenuBreadcrumb,可以增加节点的标题进去;
 
  TaxonomyBreadcrumb,这个是针对分类的面包屑,可以将节点的分类路径显示在面包屑中;Nodebreadcrumb,这个可以自定义面包屑的规则,看起来也更强大,里面还可以配置php代码。