Предварительное заполнение пользовательских полей в виджете не работает - PullRequest
0 голосов
/ 04 сентября 2018

Больше не может предварительно заполнять пользовательские поля следующим образом:

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

Обновление: создано две ручки, которые демонстрируют проблему: https://codepen.io/ovvn/pen/qMXeEv, https://codepen.io/ovvn/pen/vzJoXO.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Для других людей, застрявших в проблемах с полями предварительного заполнения, у меня были те же проблемы, и я получил их, загрузив параметры предварительного заполнения отдельно, а не в 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 с лучшим решением, я соответствующим образом обновлю этот пост.

0 голосов
/ 05 сентября 2018

Не уверен, что это имеет значение, но у меня это работает, и я не включаю 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' } }
          ]
        }
      ]
    }
  }
}
...