You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据页面模板/句柄为shopify-section分配不同类?

解决方案:通过Liquid动态控制Section类名

当然可以!Shopify的Liquid语法允许你在Section的Schema里动态生成类名,只需要根据当前页面的模板或句柄做条件判断即可,不用修改多个文件就能实现需求。

具体修改步骤

把你原来写死的class值,替换成带条件判断的Liquid表达式:

{% schema %}
{
  "name": "Blog",
  "class": "band{% unless template contains 'product' %} band--tint{% endunless %}",
  "settings": [
    // 你的现有设置项
  ]
}
{% endschema %}

代码说明

  • template全局变量:Shopify会自动返回当前页面使用的模板名称(比如博客页是blog,产品页是product)。
  • unless条件语句:相当于“如果不满足条件就执行”——当当前页面不是产品模板时,才会追加band--tint类;产品页面则只会保留band类。

更精准的匹配(可选)

如果你只想针对product.liquid模板(而非所有产品相关模板,比如product.special.liquid),可以把条件改成精确匹配:

"class": "band{% unless template == 'product' %} band--tint{% endunless %}"

验证效果

  • 博客页:template值为blog,不满足unless的条件,最终类名是band band--tint,和原来一致。
  • 产品页:template值包含product,满足unless的条件,最终类名仅为band,去掉了tint样式。

这种方法简洁高效,只需要修改Section的Schema代码就能实现页面级的类名控制,完全符合你的需求。

内容的提问来源于stack exchange,提问作者user1406440

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:58:22