Skapa anpassade popup-fönster med snabbvyn 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 kunderna välja en aktiveringspunkt, en miniatyrbild eller ett bildschema för att se information eller relaterat innehåll.
Quickview stöds av följande visningsprogram i Dynamic Media:
- Interaktiva bilder (valbara aktiveringspunkter)
- Interaktiv video (valbara miniatyrbilder vid videouppspelning)
- Carousel Banners (markeringsbara 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 snabbvyn:
-
Skapa en snabbvy för en överförd resurs.
Vanligtvis skapar du en snabbvy samtidigt som du redigerar en resurs som ska användas 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 Så här skapar du snabbvyn: Interaktiva bilder Lägger till aktiveringspunkter i en bildbanderoll. Interaktiva videoklipp Lägger till interaktivitet i videon. Carousel Banners Lägger 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 din webbplats. Carousel banner Lägger till en Carousel-banderoll på webbplatssidan. -
Visningsprogrammet du använder måste kunna använda snabbvyn.
Visningsprogrammet använder en hanterare med namnet
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 du 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); } })
Mer information om metoden
setHandlers()
finns här:- Interaktiv bildläsare - inställningsverktyg
- Interaktiv videoredigerare - snygga hanterare
-
Konfigurera hanteraren
quickViewActivate
.Hanteraren
quickViewActivate
styr snabbvyn 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. Det gör också 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.sku
Mappa andra variabler från snabbvyn också, som i följande exempel:
code language-xml 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 att funktionen
loadQuickView()
finns och är tillgänglig.Mer information om metoden
quickViewActivate
finns här:- Interaktiv bildläsare - Händelseåteranrop
- Interaktiv videovisningsprogram - 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*)
-anropet om du lägger till fler variabler.
- Uppdatera
-
Skapa en enkel
loadQuickView
()-funktion på sidan, utanför visningsprogrammet.Följande skriver till exempel värdet på 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.
Variablerna från snabbvyn mappas. Funktionsanropet är på plats. Och webbläsarkonsolen skriver variabelvärdet till webbläsarkonsolen. Detta görs med den exempelfunktion som finns.
-
-
Du kan nu använda en funktion för att anropa ett enkelt popup-fönster i snabbvyn. I följande exempel används
DIV
som popup-fönster. -
Formatera popup-fönstret
DIV
på följande sätt. Lägg till extra formatering efter behov.code language-xml <style type="text/css"> #quickview_div{ position: absolute; z-index: 99999999; display: none; } </style>
-
Placera popup-fönstret
DIV
i brödtexten på 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>
-
Om du vill uppdatera SKU-värdet i popup-fönstret lägger du till en funktion. Gör 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 pop-up } </script>
-
Ladda upp en testsida för HTML till webbservern och öppna den. Visningsprogrammet visar popup-fönstret
DIV
när en användare anropar en snabbvy. -
Så här visar du det anpassade snabbfö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 standardläge och helskärmsläge kopplar du popup-fönstret till visningsbehållaren. I det här fallet använder du en andra hanterarmetod,
initComplete
.Hanteraren
initComplete
anropas efter att visningsprogrammet har initierats.code language-xml "initComplete":function() { code block }
Mer information om metoden
init()
finns här: -
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 du gjort följande:
- Identifierade ditt anpassade popup-fönster.
- Den togs bort från DOM.
- Identifierade visningsprogrambehållaren.
- Popup-fönstret bifogades till visningsbehållaren.
-
Hela din setHandlers-kod liknar följande (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. Kontrollera också att hanterarna har lästs in innan visningsprogrammet anropas med
init()
.