Я настроил активированную форму электронной почты, используя код с помощью Steve (Mod), который показан в конце этого поста.
Он в основном сохраняет входные данные пользователей в набор данных, а затем создаетновый контакт с настраиваемыми полями в контактах, которые также заполняются, затем отправляет по электронной почте инициированное электронное письмо с переменными обратно.
Все работает нормально, за исключением того, что в переменной электронной почты отображается текущая датаи время из поля набора данных, поскольку мы используем следующую строку:
"startDate": startDate.toString()
Принимая во внимание, что я предпочел бы использовать один из них ниже, чтобы дата форматировалась так, чтобы просто отображать дату в сгенерированном электронном письме:
"startDate": startDate.toLocaleDateString('en-GB')
"startDate": startDate.toDateString()
Однако, когда в коде вместо одной существующей строки используется любая из двух приведенных выше строк, по какой-то причине он создает два идентичных контакта для этого пользователя.
Одна показывает новыеконтактируйте только с указанным ярлыком, другой - их последнее действие на веб-сайте и все входные данные из формы ввода.
дубликат ввода Wix-контакта
Теперь очевидно, что не следует разбивать один контакт на два отдельных контакта, плюс в настоящее время нет способа объединения дублирующих контактов.Итак, должно быть простое исправление для этого!
Могу ли я просто где-то изменить существующий код или добавить в него что-то вроде этого:
let item = $w("#JoinUsForm").getCurrentItem();
let startDate = item.startDate;
startDate = startDate.toDateString(); // or startDate.toLocaleDateString('en-GB');
Или я могу как-то добавить его вBeforeInsert перехватывает набор данных и имеет его как data.js в моем бэкэнде?(В настоящее время у меня уже есть один, чтобы убедиться, что первая буква имени и фамилии являются заглавными буквами в разных наборах данных).
Или я могу установить пакеты узлов в свой бэкэнд и импортировать либо Moment.js, либо DatePicker.jsв код страницы или хук в бэкэнде?(Я уже пробовал установить оба и протестировать их в моем data.js в бэкэнде, однако он все еще создает дубликаты, поэтому, несомненно, его кодирование было неправильным, и оно не сработало, поэтому я удалил оба и удалил код.)
Это код, который я использую для своей формы, создания контакта и отправки сработавшего электронного письма:
import wixCRM from 'wix-crm';
$w.onReady(function () {
$w("#JoinUsForm").onAfterSave(() => {
let startDate = $w("#startDate").value;
let firstName = $w('#firstName').value;
let lastName = $w('#lastName').value;
let email = $w("#email").value;
let choirRole = $w("#choirRole").value;
let readMusic = $w("#readMusic").value;
let choirBefore = $w("#choirBefore").value;
let startNow = $w("#startNow").value;
wixCRM.createContact({
"firstName": firstName,
"lastName": lastName,
"emails": [email],
"Choir Role": choirRole,
"Read Music": readMusic,
"Choir Before": choirBefore,
"Start Now": startNow,
"Start Date": startDate
})
.then((contactId) => {
return wixCRM.emailContact('joiningusform', contactId, {
"variables": {
"firstName": firstName,
"email": email,
"choirRole": choirRole,
"readMusic": readMusic,
"choirBefore": choirBefore,
"startNow": startNow,
"startDate": startDate.toString()
}
});
})
.catch((err) => {
// handle the error if the email wasn't sent
console.log(`Error: ${err}`);
});
});
});