Skapa anpassade popup-fönster med snabbvyer using-quickviews-to-create-custom-pop-ups
Standardsnabbvyn används i e-handelsupplevelser där ett popup-fönster visas med produktinformation som driver ett köp. Du kan emellertid utlösa anpassat innehåll som ska visas i popup-fönstren. Beroende på vilket visningsprogram du använder kan användarna med den här funktionen klicka på en hotspot, en miniatyrbild eller på ett bildschema för att se information eller relaterat innehåll.
Snabbvyer stöds av följande visningsprogram i Dynamic Media:
- Interaktiva bilder (klickbara hotspot-områden)
- Interaktiv video (klickbara miniatyrbilder vid videouppspelning)
- Carousel Banners (klickbara hotspot-områden eller bildscheman)
Även om funktionerna i de olika visningsprogrammen skiljer sig åt är processen att skapa en snabbvy densamma för alla tre visningsprogram som stöds.
Så här skapar du anpassade popup-fönster med snabbvyer:
-
Skapa en snabbvy för en överförd resurs.
Vanligtvis skapar du en snabbvy samtidigt som du redigerar en resurs för användning med det visningsprogram du använder.
table 0-row-2 1-row-2 2-row-2 3-row-2 html-authored no-header Visningsprogram som du använder Följ de här stegen för att skapa snabbvyn Interaktiva bilder Lägga till aktiveringspunkter i en bildbanderoll. Interaktiva videoklipp Lägga till interaktivitet i videon. Karusellbanner Lägga till aktiveringspunkter eller bildscheman i en banderoll. -
Hämta visningsprogrammets inbäddningskod för att integrera visningsprogrammet på webbplatsen.
table 0-row-2 1-row-2 2-row-2 3-row-2 html-authored no-header Visningsprogram som du använder Följ de här stegen för att integrera visningsprogrammet med webbplatsen Interaktiv bild Integrera en interaktiv bild med webbplatsen. Interaktiv video Integrera en interaktiv video med webbplatsen. Carousel banner Lägga till en karusellbanderoll på webbsidan. -
Visningsprogrammet som du använder behöver nu veta hur du använder snabbvyn.
För att göra detta använder visningsprogrammet en hanterare som kallas
QuickViewActive.Exempel
Anta att du använde följande exempelkod för inbäddning på webbsidan för en interaktiv bild:
Hanteraren läses in i visningsprogrammet med
setHandlers:*viewerInstance*.setHandlers({ *handler 1*, *handler 2*}, ...Med exempelkoden för inbäddning ovan har vi följande kod:
code language-xml s7interactiveimageviewer.setHandlers({ quickViewActivate": function(inData) { var sku=inData.sku; var genericVariable1=inData.genericVariable1; var genericVariable2=inData.genericVariable2; loadQuickView(sku,genericVariable1,genericVariable2); } })Läs mer om
setHandlers()metod på följande sätt:- Interaktivt bildvisningsprogram: setHandlers
- Interaktivt visningsprogram för video: setHandlers
-
Nu måste du konfigurera
quickViewActivatehanterare.Hanteraren quickViewActivate styr snabbvyerna i visningsprogrammet. Hanteraren innehåller variabellistan och funktionsanrop som kan användas med snabbvyn. Inbäddningskoden innehåller mappning för SKU-variabeluppsättningen i snabbvyn samt ett exempel på loadQuickView-funktionsanrop.
Variabelmappning
Mappa variabler för användning på webbsidan till SKU-värdet och generiska variabler som finns i snabbvyn:var *variable1*= inData.*quickviewVariable*Angiven inbäddningskod har en exempelmappning för SKU-variabeln:
var sku=inData.skuMappa ytterligare variabler från snabbvyn, som i följande exempel:
code language-none var <i>variable2</i>= inData.<i>quickviewVariable2</i> var <i>variable3</i>= inData.<i>quickviewVariable3</i>Funktionsanrop
Hanteraren kräver också ett funktionsanrop för att snabbvyn ska fungera. Funktionen antas vara tillgänglig för värdsidan. Inbäddningskoden innehåller ett exempel på funktionsanrop:loadQuickView(sku)Samplingsfunktionsanropet förutsätter funktionen
loadQuickView()finns och är tillgänglig.Läs mer om metoden quickViewActivate här:
- Interaktiv bildläsare - Händelseåteranrop
- Interaktiv videoläsare - Händelseåteranrop
- Stöd för interaktiva data i Interactive Video Viewer - Stöd för interaktiva data
-
Gör följande:
-
Avkommentera avsnittet setHandlers i den inbäddade koden.
-
Mappa eventuella ytterligare variabler som finns i snabbvyn.
- Uppdatera
loadQuickView(sku,*var1*,*var2*)anropa om du lägger till ytterligare variabler.
- Uppdatera
-
Skapa en enkel loadQuickView ()-funktion på sidan, utanför visningsprogrammet.
Följande skriver till exempel värdet för sku till webbläsarkonsolen:
code language-xml function loadQuickView(sku){ console.log ("quickview sku value is " + sku); }-
Ladda upp en testsida för HTML till en webbserver och öppna den.
När variablerna från snabbvyn är mappade och funktionsanropet är på plats, skriver webbläsarkonsolen variabelvärdet till webbläsarkonsolen med den angivna exempelfunktionen.
-
-
Du kan nu använda en funktion för att anropa ett enkelt popup-fönster i snabbvyn. I följande exempel används en
DIVför en popup. -
Formatera popup-fönstret
DIVpå följande sätt. Lägg till egen formatering efter behov.code language-xml <style type="text/css"> #quickview_div{ position: absolute; z-index: 99999999; display: none; } </style> -
Placera popup-fönstret
DIVpå HTML-sidan.Ett av elementen anges med ett ID som uppdateras med SKU-värdet när användaren anropar en snabbvy. Exemplet innehåller också en enkel knapp som döljer popup-fönstret igen när det är synligt.
code language-xml <div id="quickview_div" > <table> <tr><td><input id="btnClosePopup" type="button" value="Close" onclick='document.getElementById("quickview_div").style.display="none"' /><br /></td></tr> <tr><td>SKU</td><td><input type="text" id="txtSku" name="txtSku"></td></tr> </table> </div> -
Lägg till en funktion för att uppdatera skalvärdet i popup-fönstret; göra popup-fönstret synligt genom att ersätta den enkla funktionen som skapades i steg 5. med följande:
code language-xml <script type="text/javascript"> function loadQuickView(sku){ document.getElementById("txtSku").setAttribute("value",sku); // write sku value document.getElementById("quickview_div").style.display="block"; // show popup } </script> -
Ladda upp en testsida för HTML till webbservern och öppna den. Visningsprogrammet visar popup-fönstret
DIVnär en användare anropar en snabbvy. -
Visa det anpassade popup-fönstret i helskärmsläge
Vissa visningsprogram, till exempel Interactive Video Viewer, stöder visning i helskärmsläge. Om du däremot använder popup-fönstret enligt beskrivningen i föregående steg visas det bakom visningsprogrammet i helskärmsläge.
Om du vill att popup-fönstret ska visas i både standardläge och helskärmsläge, kopplar du popup-fönstret till visningsbehållaren. För att uppnå detta kan du använda en andra hanterarmetod,
initComplete.The
initCompletehanteraren anropas när visningsprogrammet har initierats.code language-xml "initComplete":function() { code block }Läs mer om
init()metod på följande sätt: -
Om du vill bifoga popup-fönstret, som beskrivs i föregående steg, till visningsprogrammet använder du följande kod:
code language-xml "initComplete":function() { var popup = document.getElementById('quickview_div'); popup.parentNode.removeChild(popup); var sdkContainerId = s7interactivevideoviewer.getComponent("container").getInnerContainerId(); var inner_container = document.getElementById(sdkContainerId); inner_container.appendChild(popup); }I koden ovan har vi gjort följande:
- Identifierade vårt anpassade popup-fönster.
- Den togs bort från DOM.
- Identifierade visningsprogrambehållaren.
- Popup-fönstret bifogades till visningsbehållaren.
-
Hela din setHandlers-kod ska nu se ut ungefär så här (Interactive Video Viewer användes):
code language-xml s7interactivevideoviewer.setHandlers({ "quickViewActivate": function(inData) { var sku=inData.sku; loadQuickView(sku); }, "initComplete":function() { var popup = document.getElementById('quickview_div'); // get custom quick view container popup.parentNode.removeChild(popup); // remove it from current DOM var sdkContainerId = s7interactivevideoviewer.getComponent("container").getInnerContainerId(); var inner_container = document.getElementById(sdkContainerId); inner_container.appendChild(popup); } }); -
När hanterarna har lästs in initierar du visningsprogrammet:
*viewerInstance.*init()Exempel
I det här exemplet används visningsprogrammet för interaktiva bilder.s7interactiveimageviewer.init()När du har bäddat in visningsprogrammet på värdsidan måste du se till att visningsprograminstansen skapas och att hanterarna läses in innan visningsprogrammet anropas med
init().