Drupal9功能模块出现冗余标签如何删除?

  相信,使用drupal9搞过开发的人,都有这样的一个体会:通过页面、区域、区块、字段等途径完成即定功能后,在源代码外又多了很多包裹代码,进而影响源代码功能的正常实现。
 
  出现这个结果的原因是由drupal9系统自有机制:默认为相应功能模块添加默认标签。因此,要解决这个问题,可以从模板调试、区块配置两个方面入手。
 
  一、删除模板中多余代码
 
  不管是使用系统区块,还是自定义区块;不管是使用静态区块,还是使用动态区块;亦或是使用视图区块,都会有相应的页面来承载,有相应的区域来放置,有相应的区块来实现功能,有相应的字段来配置相应选项,从而自动生成了系统模板。
 
  在系统模板中,会出现各种标签包裹在目标功能之外。进而影响源代码功能的正常实现。此时,就需要在D:\phpstudy_pro\WWW\sites\default\services.yml下把debug:参数设置为true,打开开发模式进行调试。
 
  然后根据系统提示的模板,逐个找到包裹源代码的模板,分别删除模板中多余的标签。清空缓存后验证删除标签效果。
 
  经过这一步的操作,模板中大部分冗余标签都可以删除掉。但是,还会有少许部分标签你根本找不到他在哪个模板中的什么地方。此时就要尝试第2种方法:到视图区块中配置对应参数,达到消除冗余代码的目的。
 
  二、关闭区块中冗余代码
 
  视图区块是drupal9开发中经常会使用一个模块。在视图区块中,我们可以关闭样式CSS、类class等相关按钮,达到消除源代码之外的包裹标签的目标。具体来说,可以通过以下4种方法实现。
 
  进入“管理->结构->视图”页面,编辑某一个视图区块,在字段配置页面中点击Stylesettings菜单,其下有如下4个参数可以配置:
 
1.Customize field HTML
勾选Customize field HTML前面的单选框,设置HTML element的参数为none,即可删除自定义字段外层的包裹标签。
2. Customize label HTML
勾选Customize label HTML前面的单选框,设置Label HTML element的参数为none,即可删除自定义标题外的包裹标签。
3. Customize field and label wrapper HTML
勾选Customize field and label wrapper HTML前面的单选框,设置Wrapper HTML element参数为none,即可同时删除自定义标题与字段饰面的包裹标签。
4. Add default classes
取消Add default classes单选框前面的“对号”,即可删除系统为目标代码外自动添加的默认类与标签。
 
  取消Adddefaultclasses单选框前面的“对号”,即可删除系统为目标代码外自动添加的默认类与标签。
 
  根据白龙网操作经验,如果模板找的足够精准、全面,并且对模板内冗余标签能够全面删除,再加上对视图区块的配置,就可以轻松的把目标代码外面的冗余代码清除干净,确保目标代码功能正常实现。