在窗口小部件中预填充自定义字段不起作用

时间:2018-09-04 10:21:08

标签: zendesk zendesk-api zendesk-app

不再可以按以下方式预填充自定义字段:

window.zESettings = {
  "webWidget": {
    "contactForm": {
      "fields": [
        {
          "id": 360009742832,
          "prefill": {
            "*": "372"
          }
        },
        {
          "id": 360009742852,
          "prefill": {
            "*": "MIT Design Thinking - Oct 18"
          }
        }
      ]
    }
  }
}

更新:创建了两支演示问题的笔: https://codepen.io/ovvn/pen/qMXeEvhttps://codepen.io/ovvn/pen/vzJoXO

2 个答案:

答案 0 :(得分:0)

不确定它是否有所不同,但是我可以使用它,并且不包含window,并且zE.settings中的对象周围也没有引号。我的以下示例仅在选择表单,单击“后退”按钮并再次选择表单后才能工作-

window.zESettings = {
  webWidget: {
    contactForm: {
      ticketForms: [
        {
        id: 488608,
        fields: [
          { id: 'description', prefill: { '*': 'My field text' } },
          { id: 360000325513, prefill: { '*': '4283923' } }  
          ]
        },
        {  
          id: 360000101663,
          fields: [
            { id: 'description', prefill: { '*': 'My field text' } },
            { id: 360000325513, prefill: { '*': '4283923' } }
          ]
        }
      ]
    }
  }
}

答案 1 :(得分:0)

对于其他在预填充字段上遇到问题的人,我遇到了同样的问题,并且通过分别加载预填充设置(而不是在zESettings中)使其工作。 如此处所述:/ embeddables / docs / widget / core#prefill

因此,基本上,您需要制作1个脚本标签以将window.zESettings用于contactForm字段以外的设置:

<script type="text/javascript">
  window.zESettings = {
    webWidget: {
    position: {
      contactForm: {title: {'*': 'Submit an issue'}
    }
  };
</script>

还有另一个脚本标签,用于加载zE('webWidget','prefill',{您在此处的字段设置});

<script type="text/javascript">
  zE('webWidget', 'prefill', {
    name: {value: 'your name'},
    email: {value: 'some email'},
    description: {value: 'Add a description'}
  });
</script>

但是,您将需要为预填充设置添加延迟,因为在实际启动小部件之前不存在“ zE”。 可能有更好的方法,但是我已经花了更多的时间在此方面。如果我收到有关更好的解决方案的Zendesk支持反馈,我将相应更新此帖子。