Shopify request.page_type 判断页面失效
现象#
在 theme.liquid 里用 request.page_type 判断商品页来加载脚本,结果商品页没加载,首页反而加载了;直接输出该值为空白。
原因#
- page_type 是固定枚举,取值为 index、product、collection、page、cart 等,不是模板文件名
- 自定义模板 product.custom 仍然返回 product,用它区分不了 suffix
- section 的 schema 里读不到 request,只有模板和 layout 的 Liquid 能取
- 属性名大小写写错,例如写成 request.pageType,输出自然是空
处理步骤#
- 在 layout 里临时输出
{{ request.page_type | json }},确认实际取值 - 需要区分自定义模板时改用
{{ template.suffix }} - 列表页判断写
request.page_type == 'collection',与商品页分开 - 条件补上
{% else %}分支,未知类型时也有兜底逻辑 - 在编辑器里切换不同模板预览,逐页确认条件命中情况
验收标准#
商品页源码只出现商品相关脚本,首页与集合页不加载;request.page_type 输出为预期的英文枚举值。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。