Shopify Motion主题特定页面设置overlay_header为true的问题咨询
问题原因
原有代码生成template_name时经过了三层处理:
- 把模板名中的
.替换为空格 - 截取前2个单词
- 转换为handle格式(空格转为短横线、特殊字符移除、全小写)
你使用的page.chisiamo模板经过处理后得到的template_name是page-chisiamo,和你之前写的判断条件都不匹配,所以未生效。
解决方法
你可以根据需求任选以下一种方案,代码添加到原有overlay判断逻辑的末尾即可:
方案1:所有使用page.chisiamo模板的页面都开启叠加头
{% if template_name == 'page-chisiamo' %} {% assign overlay_header = true %} {% endif %}
方案2:仅对指定页面开启叠加头(更精准)
如果只需要给你提到的nuovo-chi-siamo页面生效,直接判断页面唯一handle即可:
{% if page.handle == 'nuovo-chi-siamo' %} {% assign overlay_header = true %} {% endif %}
验证方法
修改保存后,刷新目标页面,检查页面源码中HeaderWrapper元素的class是否包含header-wrapper--overlay is-light,如果存在即配置成功。如果仍然不生效,可以临时在header代码中加入<!-- 调试template_name值:{{ template_name }} -->,查看页面源码中的实际输出,调整判断条件即可。
内容的提问来源于stack exchange,提问作者imones
相关产品推荐
相关产品推荐

