Magento中点击分类时调用静态块的问题
我之前也碰到过类似的多店铺分类显示静态块的问题,结合你已经完成的权限配置、缓存刷新和重新索引操作,给你列几个容易忽略的排查方向:
检查分类的店铺专属显示设置
全局的分类设置有时候会覆盖多店铺的单独配置。进入对应店铺的「分类管理」,找到目标分类的「显示设置」,确认「显示模式」是不是设为了「仅静态块」或「静态块和产品」,别误选成「仅产品」。另外要核对这里选择的静态块是不是归属当前店铺的——多店铺下静态块有店铺关联,选错了就会加载失败。排查店铺主题的分类模板改动
如果这个店铺用了独立主题,大概率是主题里的分类页面模板被修改过。比如catalog_category_view.xml布局文件里,原本调用静态块的代码被注释或替换成了产品列表的渲染逻辑;或者对应的phtml模板文件里,静态块的输出代码被删掉了。可以对比之前正常运行的主题文件,找一找代码差异。确认静态块的状态与店铺关联
再仔细检查下目标静态块:状态是不是「启用」,「店铺视图」里有没有勾选当前店铺(批量操作很容易不小心取消勾选);还有静态块的标识符(Identifier)要和分类配置里填写的完全一致,大小写也不能错——比如你在分类里填的是summer_category_promo,但静态块的标识符是Summer_Category_Promo,就会调用失败。检查分类URL重写是否冲突
多店铺环境下URL重写容易出问题,比如你点击的分类URL其实指向了另一个设为「仅产品」的分类。进入「营销 > URL重写」,搜索该分类的URL,看看对应的目标路径是不是正确的分类ID,有没有被其他重写规则覆盖。查看日志文件找具体报错
打开var/log/system.log和var/log/exception.log,看看点击分类页面时有没有相关报错——比如静态块加载失败的提示、权限相关的警告,这些日志能直接帮你定位到具体问题,比如某个自定义模块拦截了静态块的渲染流程。
内容的提问来源于stack exchange,提问作者maiYuj

