【问题标题】:Saving custom data in shopify via liquid template通过液体模板在shopify中保存自定义数据
【发布时间】:2018-12-04 12:40:05
【问题描述】:

我想在自定义页面上创建一个自定义问卷并针对已登录的客户保存答案。

我创建了一个自定义页面,该页面连接到包含以下代码的自定义 .liquid 模板:

{% if customer %}
  
    {% form 'customer' %}
  
      {{ form.errors | default_errors }}
  
      {% if form.posted_successfully? %}
  
        <div class="form--success">
            <div class="success">Thank you, we have saved your questionaire and calculated your programme.</div>
        </div>
        <br><br>
        
      {% else %}
  
        ... my html form here
    
        <!-- Save -->
        <span class="input-group__btn">
            <button type="submit" name="commit" class="btn">
                <span>Save</span>
            </button>
        </span>
        <br><br>
  
      {% endif %}
  
    {% endform %}
  
{% else %}

    <div style="custom-error">
        Not logged in, this feature is available for registered customers only!
        <br>
        <a href="/account">Click here</a> to register/login now.
    </div>

{% endif %}

当我访问我的自定义页面时,我的 html 表单会呈现。我想弄清楚的是如何将表单数据(最好将表单数据序列化为json)保存回自定义元字段上的登录客户;当你点击保存时。

有什么想法吗?

【问题讨论】:

    标签: shopify


    【解决方案1】:

    来自Shopify's Docs

    自定义表单字段

    要自定义您的表单字段,您将编辑来自the above examples 的代码,然后将它们保存到您的客户注册表单模板中。

    名称属性

    元素的名称属性设置为customer[note][Some Text] 很重要,其中 Some Text 标识该字段要回答的问题。 customer[note] 值是必不可少的,因为它允许将信息作为客户注释提交。没有它,什么都不会提交。您应该编辑的 name 属性的唯一部分是第二组方括号之间的文本。

    所以,你可以试试:

    <input type="text" placeholder="" name="customer[note][Company]" required />
    

    这将显示在他们的用户个人资料中,例如:

    在另一边的液体中,您必须使用一些正则表达式,或者可能将note 转储到 .js 变量中并编写一个小接口来按键提取值。

    (我知道(很遗憾)元字段无法通过这样的表单更新访问。)

    【讨论】:

      猜你喜欢
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 2017-09-17
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多