Razširite obrazce za izhodno trženje z uporabo kode
opomba,
1. septembra 2023 bosta Dynamics 365 Marketing in Dynamics 365 Customer Insights na prodaj skupaj v okviru ene inventarne enote izdelka, imenovane Dynamics 365 Customer Insights. Posamezni aplikaciji bosta preimenovani v Dynamics 365 Customer Insights – Dejavnosti oziroma Dynamics 365 Customer Insights – Podatki. Več informacij je v pogostih vprašanjih za Dynamics 365 Customer Insights
Poleg tega bodo 1. septembra 2023 novi uporabniki storitve Dynamics 365 Marketing prejeli samo funkcije sprotnega trženja. Več informacij je v razdelku Privzeta namestitev sprotnega trženja. Številne strani z dokumentacijo se trenutno nanašajo na odhodne funkcije, ki v sprotnem trženju morda niso na voljo ali delujejo drugače. Vsebina dokumentacije bo posodobljena septembra, da bo razvidno, ali se nanaša na sprotno ali odhodno trženje.
Pomembno
Ta članek se nanaša samo na izhodno trženje.
Obrazec za trženje določa nabor vnosnih polj, razvrščenih v postavitev obrazca. Verjetno boste ustvarili majhno knjižnico obrazcev za ponovno uporabo, ki jih lahko po potrebi umestite na vse svoje različne strani za trženje. Če želite dodati obrazec za trženje določenemu stran za trženje, uporabite element obrazca, da postavite obrazec in zanj izberite lokalne nastavitve, ki veljajo samo za to stran. Več informacij Obrazci za izhodno trženje
Obrazce za odhodno trženje je mogoče razširiti z uporabo JavaScripta za izvajanje poslovnih dejanj po meri v Dynamics 365 Customer Insights - Potovanja. Sledijo metode, ki so na voljo za razširitev izhodnih tržnih obrazcev.
JavaScript API
Uporabljamo najnovejšo različico JavaScript API-ja. Prepričajte se, da so vaše reference na form-loader.js
ali loader.js
skript videti kot https://mktdplp102cdn.azureedge.net/public/latest/js/form-loader.js?v=[version tag]
ali https://mktdplp102cdn.azureedge.net/public/latest/js/loader.js?v=[version tag]
. Razdelek ?v=[version tag]
lahko izpustite. Starejši skripti (skripti, ki izgledajo kot https://mktdplp102cdn.azureedge.net/public/static/[version tag]/js/form-loader.js
ali https://mktdplp102cdn.azureedge.net/public/static/[version tag]/js/loader.js
) so zastareli in niso več podprti.
Postavite kodo po meri neposredno za form-loader.js
skript.
Vzorec kode:
<script src="https://mktdplp102cdn.azureedge.net/public/latest/js/form-loader.js?v=..."></script>
<script>
// correct - the script will attach event handlers right after form loader script
MsCrmMkt.MsCrmFormLoader.on("afterFormLoad", function() {});
// wrong - the script will attach event handlers after window has finished loading, form already might have been loaded in the meantime and no events will trigger anymore
// window.onload = function() { MsCrmMkt.MsCrmFormLoader.on("afterFormLoad", function() {}); };
</script>
Metode MsCrmMkt.MsCrmFormLoader
Ime funkcije | Description | Ime parametra | Vrsta parametra | Opis parametra | Vračila |
---|---|---|---|---|---|
.on(eventType,callback) |
Registrira povratni klic za vrsto dogodka življenjskega cikla obrazca | eventType |
string , eden od "afterFormLoad" , "afterFormRender" , "afterFormSubmit" , "formLoad" , "formRender" , "formSubmit" |
Vrsta dogodka, na katerega se lahko povežete | undefined |
callback |
Funkcija povratnega klica | Function |
|||
.off(eventType) |
Odjavite povratne klice danega dogodka življenjskega cikla obrazca | eventType neobvezno |
string , eden od "afterFormLoad" , "afterFormRender" , "afterFormSubmit" , "formLoad" , "formRender" , "formSubmit" |
Vrsta dogodka, na katerega se lahko povežete | undefined |
.sendFormCaptureToCrm(form) |
Oddajo obrazca pošljite na Dynamics 365 Customer Insights - Potovanja, podprto samo za scenarij zajema obrazca | form |
Element DOM, ki predstavlja obrazec, ali izbirnik JQuery, ki predstavlja obrazec | Element obrazca DOM | Promise<string> |
Oblikujte dogodke
Ime dogodka | Sproži se za zajete obrazce | Sintaksa | Description |
---|---|---|---|
formLoad |
Da | MsCrmMkt.MsCrmFormLoader .on("formLoad", function(event) {}) |
Sproži, ko je ograda obrazca prepoznana, preden se pridobi dejanska vsebina obrazca, za zajete obrazce sproži, ko je obrazec prepoznan |
formRender |
No | MsCrmMkt.MsCrmFormLoader .on("formRender", function(event) {}) |
Sproži se po pridobitvi vsebine obrazca in preden je vsebina obrazca vstavljena na stran. |
afterFormRender |
No | MsCrmMkt.MsCrmFormLoader .on("afterFormRender", function(event) {}) |
Sproži se po tem, ko je vsebina obrazca vstavljena na stran, preden so pritrjene potrditvene kljuke. |
afterFormLoad |
No | MsCrmMkt.MsCrmFormLoader .on("afterFormLoad", function(event) {}) |
Sproži se po tem, ko je vsebina obrazca vstavljena na stran in po tem, ko so pritrjeni kavlji za preverjanje veljavnosti. |
formSubmit |
No | MsCrmMkt.MsCrmFormLoader .on("formSubmit", function(event) {}) |
Sproži ob oddaji obrazca, preden je oddaja obrazca poslana strežniku. |
afterFormSubmit |
Da | MsCrmMkt.MsCrmFormLoader .on("afterFormSubmit", function(event) {}) |
Sproži ob oddaji obrazca, potem ko je oddaja obrazca poslana strežniku. Sproži se šele, ko je predložitev uspešna. Sproži se pred preusmeritvijo ali pred prikazom potrditvenega sporočila. |
Za vsak povratni klic dogodka so na voljo naslednje metode:
Ime načina | Description | Tip vrnitve |
---|---|---|
.getType() |
Pridobi vrsto dogodka | string , eden od "afterFormLoad" , "afterFormRender" , "afterFormSubmit" , "formLoad" , "formRender" , "formSubmit" |
.getFormPageId() |
Pridobi ID strani obrazca – to se nanaša na msdyncrm_formpage enolični identifikator entitete |
string |
.getFormPlaceholder() |
Pridobi element DOM, ki predstavlja obrazec | Element DOM |
.preventDefault() |
Prekliče oddajo obrazca, velja samo za dogodek tipa formSubmit |
undefined |
.preventFormLoadingProgressBar() |
Med nalaganjem obrazca skrije vrtljivko, velja samo za vrsto dogodka formLoad |
undefined |
.setFormNotification(function (n) {}) |
Preglasi povratni klic za upodabljanje obvestila obrazca (kot je sporočilo o predložitvi obrazca). Brez telesa funkcije ne bodo upodobljena nobena obvestila. Velja le za dogodek vrste formLoad . |
undefined |
Prilagoditev vedenja za zajem obrazca
Zajem obrazca usmerja konfiguracijski element, ki izgleda <div class="d365-mkt-config" style="display:none" data-website-id="..." data-hostname="...">
. Vedenje zajemanja obrazca lahko spremenite tako, da dodate naslednje atribute:
Ime atributa | Description |
---|---|
data-ignore-prevent-default="true" |
Ko je določeno, bo obrazec predložen ne glede na dejstvo, da je bil .preventDefault() priklican v dogodku. |
data-no-submit="true" |
Ko je določeno, skript za zajemanje obrazca ne bo zajel dogodka oddaje obrazca, zato morate MsCrmMkt.MsCrmFormLoader.sendFormCaptureToCrm(form) izrecno sprožiti. To je uporabno v primerih, ko želite najprej oddati obrazec in pozneje sinhronizirati z Dynamics 365 Customer Insights - Potovanja. |
opomba,
Javascript API je na voljo samo za obrazce, ki gostujejo kot skript, ni podprt za možnost gostovanja iframe.
Med uporabo portalov dodajte svoj izrezek kode
Če želite dodati kodo JavaScript, morate slediti spodnjim korakom:
Pomaknite se do aplikacije Customer Insights - Journeys in pojdite na strani za trženje.
Izberite Novo da ustvarite nov stran za trženje.
Povlecite in spustite element Obrazec z zavihka Orodjarna v Oblikovalnik in izberite tržni obrazec, ki ga želite uporabiti.
Preklopite na zavihek HTML in svoj izrezek kode.
Izberite Shrani , da shranite svoje spremembe, nato pa izberite Pojdi v živo.
Dodajte svoj izrezek kode, ko uporabljate svoj CMS in gostovanje obrazcev
Če želite dodati izrezek kode, morate slediti spodnjim korakom:
Pomaknite se do aplikacije Customer Insights - Journeys in pojdite na Obrazce za trženje v Izhodno trženje območje
Izberite Novo , da ustvarite nov tržni obrazec.
Izberite Pojdi v živo.
Izberite zavihek Gostovanje obrazcev in pod Razpoložljive domene za gostovanje obrazcev izberite domeno, če je na voljo, ali izberite + Ustvari novo domeno.
Dodajte svojo domeno CMS in izberite Shrani.
Na zavihku Iz gostovanja pod zavihkom Sorodne strani z obrazcem za trženje izberite ... in + Nova stran obrazca za dodajanje strani obrazca za trženje.
Izberite možnost Shrani.
Zdaj izberite stran obrazca, ki ste jo ustvarili, in kopirajte skript v odložišče.
Zdaj v svojem CMS uredite stran, kamor želite vključiti obrazec, dodajte svoje prilagoditve in skript.
Primeri
Preverjanje vzorca - preveri, ali je besedilno polje Fabricam ali Contoso, sicer prepreči oddajo obrazca.
MsCrmMkt.MsCrmFormLoader.on('formSubmit', function(event) { // sample validation - check if document.getElementById('txt-company-name-message').style.visibility = 'hidden'; var companyName = document.getElementById('txt-company-name').value; if (companyName !== 'Fabricam' && companyName != 'Contoso') { document.getElementById('txt-company-name-message').style.visibility = 'visible'; event.preventDefault(); } });
Polnjenje parametrov dohodnega poizvedbenega niza v skrita polja.
MsCrmMkt.MsCrmFormLoader.on('afterFormLoad', function(event) { var self = window.location.toString(); var queryString = self.split("?"); var hiddenFields = document.querySelectorAll("input[type=hidden]"); if (queryString.length > 1) { var pairs = queryString[1].split("&"); for (var pairIndex in pairs) { var pair = pairs[pairIndex].split("="); if (pair.length !== 2) { continue; } var key = pair[0]; var value = pair[1]; if (key && value) { for (var i = 0; i < hiddenFields.length; i++) { if (hiddenFields[i].id === key) { hiddenFields[i].value = value; } } } } } });
Lokalizirajte obrazec (izbirni seznam) – za lokalizacijo obrazcev za odhodno trženje lahko uporabite razširljivost na strani odjemalca. Lokalizacija se mora izvesti po nalaganju obrazca (
afterFormLoad
dogodek). Znotraj stran za trženje (ali v CMS, kjer gostite obrazec), dodajte naslednji lokalizacijski skript:<script> function translatePicklists(lcid) { var picklists = document.querySelectorAll("select"); for(var i = 0; i < picklists.length; i++) { var picklist = picklists[i]; var relatedDatalist = document.getElementById("localize-" + picklist.name + "-" + lcid.toString()); if (relatedDatalist) { for(var j = 0; j < picklist.options.length; j++) { if (j >= relatedDatalist.options.length) { break; } picklist.options[j].text = relatedDatalist.options[j].text; } } } } MsCrmMkt.MsCrmFormLoader.on("afterFormLoad", function(event) { translatePicklists(1029); }); </script>
V marketinškem obrazcu poskrbite, da imate pripravljene prevode. Uredite marketinški obrazec v oblikovalniku HTML, ga formatirajte (kliknite z desno miškino tipko v oblikovalniku, nato izberite format) in dodajte potrebne prevode.
<div data-editorblocktype="Field-dropdown"> <div class="marketing-field"> <div class="lp-form-field" data-required-field="false"> <label for="f7ae1a98-0d83-4592-afe0-272c85ce607d" class="lp-ellipsis" title="">Marital status</label> <select id="f7ae1a98-0d83-4592-afe0-272c85ce607d" name="f7ae1a98-0d83-4592-afe0-272c85ce607d" class="lp-form-fieldInput" title="" style="width: 100%; box-sizing: border-box;"> <option value=""></option> <option value="1">Single</option> <option value="2">Married</option> <option value="3">Divorced</option> <option value="4">Widowed</option> </select> </div> </div> </div> <!-- format is localize-fieldid-lcid --> <datalist id="localize-f7ae1a98-0d83-4592-afe0-272c85ce607d-1029"> <option></option> <option>Svobodny(a)</option> <option>Zenaty(a)</option> <option>Rozvedeny(a)</option> <option>Vdovec(vdova)</option> </datalist>