Shopify自定义区块预设:如何为重复区块添加不同默认内容?
为Shopify Section的重复区块设置不同预设默认值
你可以直接在section schema的presets字段里,给每个预设的区块单独定义settings值,以此覆盖区块本身的默认内容,实现每个列预填充不同内容的需求。
具体实现方式如下:
- 在你的
USP Bannersection的schema中,保持区块的基础定义不变,然后在presets的blocks数组里,为每个column区块单独配置settings参数,填入不同的默认内容。
示例代码:
{% schema %} { "name": "USP Banner", "max_blocks": 4, "blocks": [ { "type": "column", "name": "USP Column", "settings": [ { "type": "text", "id": "title", "label": "Title", "default": "Default Title" }, { "type": "richtext", "id": "description", "label": "Description", "default": "<p>Default description</p>" } ] } ], "presets": [ { "name": "USP Banner", "category": "Banners", "blocks": [ { "type": "column", "settings": { "title": "Free Shipping", "description": "<p>On all orders over $50</p>" } }, { "type": "column", "settings": { "title": "30-Day Returns", "description": "<p>Hassle-free returns policy</p>" } }, { "type": "column", "settings": { "title": "24/7 Support", "description": "<p>Our team is here to help</p>" } }, { "type": "column", "settings": { "title": "Premium Quality", "description": "<p>Top-grade materials used</p>" } } ] } ] } {% endschema %}
- 关键注意点:
- 每个预设区块的
settings会优先于区块自身的default值生效 - 确保
settings里的键名(比如title、description)和区块schema中定义的字段id完全匹配 - 预设的区块数量要符合你设置的
max_blocks限制
这种方式是Shopify当前支持的官方解决方案,无需额外脚本或复杂逻辑,直接通过schema配置就能实现需求。
内容的提问来源于stack exchange,提问作者indextwo
相关产品推荐
相关产品推荐

