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

如何在产品模板中显示自定义输入?产品构建器功能开发咨询

产品自定义文本字段:Metafield 还是直接添加 Input?

直接添加 Input 的适用场景

  • 临时/小范围需求:仅针对单个或少数产品做定制输入,无需后台统一管理字段配置
  • 快速落地:直接在产品模板(如product-template.liquid)的表单内添加HTML输入框,借助Shopify的line_item.properties把用户输入值传递到订单
    <!-- 产品表单内插入代码 -->
    <div class="custom-text-field">
      <label for="user-custom-text">自定义内容</label>
      <input type="text" id="user-custom-text" name="properties[自定义内容]" required>
    </div>
    
  • 订单展示自动生效:用户提交的自定义值会直接出现在订单详情的「商品属性」区域,无需额外配置

使用 Metafield 的适用场景

  • 批量/标准化需求:需要给多个产品统一启用该自定义字段,或在后台设置字段规则(如必填、字符限制)
  • 字段需关联产品元数据:后续要在其他页面(如产品列表页)调用该字段配置,或需要和产品其他元数据联动
  • 规范管理字段结构:先在Shopify后台(Settings > Metafields > Products)定义字段,再在模板中渲染输入框:
    <!-- 基于Metafield配置渲染输入框 -->
    <div class="custom-text-field">
      <label for="metafield-custom-text">{{ product.metafields.custom.user_input.label }}</label>
      <input type="text" id="metafield-custom-text" name="properties[{{ product.metafields.custom.user_input.label }}]" required>
    </div>
    
    注:Metafield仅负责定义字段的结构和配置,用户输入的临时值仍需通过line_item.properties传递到订单

核心结论

如果只是需要一个简单的用户输入框、下单时展示自定义内容,直接添加Input配合line_item.properties是最直接高效的方案;如果需要后台统一管理字段配置、批量应用到多产品,或关联产品元数据,再用Metafield定义字段结构,结合Input实现用户输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:17:12