开发网站的过程中,往往会遇到相同类型的不同栏目模块开发需求。白龙网认为,对于这样的功能,没有必要分别单独开发2个栏目(内容类型->视图输出),只需在内容类型中借助drupal9分类的功能,让内容分别输出到不同的栏目即可,以缩短开发周期,加快开发进度。
例如,网站的菜单导航中有两个栏目:企业新闻(company)、行业新闻(industry)。后台同一个节点中有一个分类的功能,选择“企业新闻”发布内容,新闻自动发布到“企业新闻”栏目;选择“行业新闻”发布内容时,新闻发布到“行业新闻栏目”。
Drupal9中实现节点分类输出的功能,有两个方法,一是通过在内容类型中添加一list字段实现;二是通过Taxonomy的词汇/术语实现。这两个方法有异曲同工之处,仅仅配置方法不同而已,可以实现相同的功能。
一、list分类列表
1、在“管理->结构->内容类型”中添加一实体“新闻中心(news)”;
2、在“新闻中心(news)”实体中添加一个list类型的分类字段,然后到字段设置界面时,在Allowed_values_list框中分两行输入分类的值与标签:company|企业新闻、industry|行业新闻;
3、经过上面两步操作,在“新闻中心(news)”内容类型中就增加了一个list类型的字段,下拉框显示“企业新闻、行业新闻”,输入内容时,根据实际需要选择“企业新闻”或者“行业新闻”即可;
4、使用VIEW视图分别输出“新闻中心(news)”中企业新闻、行业新闻内容时,在FILTER_CRITERIA选项下,添加上面配置list分类字段,用以分别过滤显示企业新闻、行业新闻相关内容。
二、Taxonomy词汇术语
这个方法与上面list字段分类不同栏目的方法非常的相似,不同的模块实现相同的功能而已。
在“管理->结构->分类”下添加一个词汇,在词汇下添加两个术语:企业新闻、行业新闻,可以分别指定两个术语的别名:company、industry。
接着就是在自定义的内容类型中添加一个Taxonomy_term类型的字段并关联刚刚新建的分类词汇。然后在用VIEW输出“新闻中心(news)”中企业新闻、行业新闻内容时,在FILTER_CRITERIA选项下,添加上面配置Taxonomy_term分类词汇,用以分别过滤显示公司新闻、行业新闻相关内容。
白龙网认为,上面两个方法,对于实现相同类型不同栏目的模块开发各有千秋,实际工作中,可根据实际功能需求,选择相应的方法。通过对比发现,两种方法也有不同的地方,例如list分类列表可自定义“值”,而Taxonomy词汇只能自定义“别名”。因此,在使用Token读取分类数据时,处理方法是不同的,这点需要注意。