The lpTag
can be set up to work with a Single Page Application (SPA) by using the newPage()
method.
Usage
When a new page is triggered call the following method:
lpTag.newPage(url, {
section: [],
sdes: [],
taglets: {
rendererStub:{
divIdsToKeep: {
"divId": true
}
}
}
});
Parameters Explanation
Parameter Name | Type | Description | Required |
---|---|---|---|
url | string | the new url that is the result of the page | Yes |
anonymous object | object | contains the following properties | No |
section | array of strings | sections which are active | No |
sdes | array of SDE objects | sdes in the new page context | No |
taglets | object | configuration that will be passed to the specific taglet names | No |
rendererStub | object |
{ divIdsToKeep: { “DIVID”: true } } where “DIVID” should be replaced with the ID of the div who’s button you want to keep during the page refresh. |
No |
YOURTAGLETNAME | object | add your own specific configuration for your taglet here | No |
Example Call
lpTag.newPage('https://x.com/newUrl/', {
section: [ 'NEWSECTION' , 'NEWSECTION2'],
sdes: [
{ "type": "cart",
"total": 11.7,
"numItems": 6,
"products": [
{
"product": {
"name": "prod1",
"category": "category",
"sku": "sku",
"price": 7.8
},
"quantity": 1}
]
}
], taglets: {
rendererStub: {
divIdsToKeep: { MYDIV: true } },
SOMETAGLETNAME: { /*SOME CONFIGURATION*/ }
}
});
Example HTML page
<!-- lpTag with your site ID goes here -->
<!-- Example that sends customer info with the new page -->
<button onclick='lpTag.newPage("http://www.salesenglish.com/", {
section: ["unit-sales","lang-english","lob-sales-english"],
sdes: [{
"type": "ctmrinfo",
"info": {
"cstatus": "cancelled",
"ctype": "vip",
"customerId": "138766AC",
"balance": -400.99,
"socialId": "11256324780",
"imei": "3543546543545688",
"userName": "user000",
"companySize": 500,
"accountName": "bank corp",
"role": "broker",
"lastPaymentDate": {
"day": 15,
"month": 10,
"year": 2014
},
"registrationDate": {
"day": 23,
"month": 5,
"year": 2013
}
}
}],
taglets: {}
});'>New Page Info</button>
<!-- Example that sends customer cart information with the new page -->
<button onclick='lpTag.newPage("https://x.com/newUrl/Cart.html", {
section: ["sales","lang-english","lob-sales-english"],
sdes: [{
"type": "cart",
"total": 11.7,
"numItems": 6,
"products": [{
"product": {
"name": "prod1",
"category": "category",
"sku": "sku",
"price": 7.8
},
"quantity": 1
}]
}],
taglets: {
rendererStub: {
"divIdsToKeep": {
"MYDIV": true
}
}
}
});'>New Page Cart</button>
<!-- Example with just updating the url and nothing else -->
<button onclick='lpTag.newPage("https://fakeDomainName.com/Page");'>New Page</button>