为什么default_head_blocks.xml配置的remove标签无法移除CSS文件?
问题排查方案
你当前使用的文件存放路径是正确的,无需更换到其他目录,配置不生效可按以下顺序排查:
- 资源路径未加模块前缀
默认的print.css和styles-m.css归属于Magento_Theme模块,remove指令需要加上模块前缀才能正确匹配资源,修正后的代码如下:
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <head> <remove src="Magento_Theme::css/print.css"/> <remove src="Magento_Theme::css/styles-m.css"/> </head> </page>
- 未清理关联缓存
Magento默认开启布局缓存,修改XML配置后必须清理对应缓存才能生效,可在命令行执行以下命令:bin/magento cache:clean layout block_html full_page
也可以进入后台「系统」-「缓存管理」手动清理对应缓存项。 - 生产模式未重新部署静态资源
如果站点运行在生产模式下,修改配置后需要重新部署静态资源才能生效,执行命令:bin/magento setup:static-content:deploy - 路径占位符未替换
确认存放文件的路径中<theme>已经替换为实际的主题标识,比如你的主题为CustomVendor/luma-child,则完整路径应为app/design/frontend/CustomVendor/luma-child/Magento_Theme/layout/default_head_blocks.xml。 - 配置冲突检查
确认你的主题继承链上不存在其他default_head_blocks.xml文件重复添加这两个CSS资源,也没有第三方扩展的布局配置覆盖了当前的移除规则。
内容的提问来源于stack exchange,提问作者Payman Khayree
相关产品推荐
相关产品推荐

