配置Drupal9之list类型字段·轻松实现面包屑导航功能

  Drupal9的list类型字段,非常强大,它不仅可以用来分类文章栏目,还可以实现带链接的面包屑导航的功能。
 
  白龙网认为,一般来说,面包屑导航会出现在列表页、内容页。因此在不同的模板页面分别调用list类型下拉列表的标题与值,list下拉列表的名称作为导航的部分名称,list类型下拉列表的值作为URL链接,即可轻松实现带链接的面包屑导航功能。具体实现过程如下:
 
  一、定义下拉列表
 
  在内容类型中增加一个list类型的下拉列表,如下所示:
 
  spot|西北旅游景点
 
  tour|西北旅游攻略
 
  maps|西北旅游地图
 
  line|西北旅游路线
 
  order|西北旅游政策
 
  qa|西北旅游问答
 
  二、调用下拉列表
 
  然后,我们就可以在视图区块与内容模板页中分别调用上述list类型的下拉列表的值与标题。
 
  1、列表页面包屑导航
 
  假如,列表页需要一个诸如“首页->西北旅游景点”样式的面包屑导航模块。
 
  那么,只需要在“管理->结构->视图”中创建一个视图区块,接着把list类型的字段“西北旅游景点”添加进来两次,一次格式化为default,用来显示list字段的标题:西北旅游景点,用作面包屑导航的二级目录;一次格式化为key,用来显示显示list字段的值:spot,用作面包面包屑导航目录的链接。然后分别用变量替换即可。
 
  通过这种形式定制出来的面包屑导航区块,可以作为模板使用了。即:一个变量出现在不同的列表页面模板。不同的列表页,显示不同的面包屑导航,只需要复制该视图区块,过滤显示不同的导航目录即可。
 
  2、内容页面包屑导航
 
  在内容页node模板中打印“首页->西北旅游景点”形式的面屑导航,相对来说,比较简单。使用{{node.field_columns.value}}调用上述定义的list类型字段的key值,添加相对路径“/”作为“西北旅游景点”的URL,特别说明:field_columns是list类型的字段名;使用{{content.field_columns}}调用“西北旅游景点”这个字段用作标题,作为“首页->西北旅游景点”的一部分。
 
  如此以来,我们就轻松的把list类型的下拉列表的标题与key值拿到了node模板。通过简单的拼接,即可实现“首页->西北旅游景点”这种二级面包屑导航。当然,对于三级、四级、五级等级的面包屑导航,只需要在内容类型中添加多个list类型的下拉列表,逐级拼接、调用,即可开发任意级面包屑导航区块。

        另外,对于面包屑功能实现的相关内容,白龙网曾写过多篇文章来梳理,详情可参考《Drupal9面包屑导航内容相互覆写的解决办法?》《Drupal8三级面包屑的定制开发》《Drupal8.7.6自定义主题后如何自定义面包屑导航?》《Drupal8.7.6如何输出面包屑导航?》等内容。