siteMapPerso
Details
dataFactor.js 91(+91 -0)
diff --git a/dataFactor.js b/dataFactor.js
new file mode 100644
index 0000000..1a0cbfd
--- /dev/null
+++ b/dataFactor.js
@@ -0,0 +1,91 @@
+const enviroment = 'https://dev.';
+//DATOS DE USUARIO
+const email = vsm.session.email != "" ? vsm.session.email : "";
+const idUser = vsm.session.id != "" ? vsm.session.id : "";
+const userName = vsm.session.title != "" ? vsm.session.title : "";
+const isSuscriber = site.session.isSuscriber() && site.session != undefined ? "Suscriptor" : "Usuario";
+let dateTime = new Date();
+dateTime = `${dateTime.getDate()}/${dateTime.getMonth()}/${dateTime.getFullYear()} - hora ${dateTime.getHours()}:${dateTime.getMinutes()}`
+
+
+let main = document.querySelector('.main-container');
+let block = main.querySelectorAll('div.block');
+let isMatch = false
+let url = ""
+//SELECTORES DE LA Genericos
+const ulOptions = document.querySelector('.session-options');
+const ItemsList = ulOptions.querySelectorAll('li');
+const perfil = ItemsList[1].querySelector('a');
+
+let listenersHome = [
+ `.${block[0].className} h2.title`,
+ `.${block[1].className} h2.title`,
+ `.locked a`,
+ `.columnists .items article.item`
+]
+let interactionHome = {
+ name: "es mi nombre"
+}
+
+function GenerateContentZones(names, selectors) {
+ let ContentZones = [];
+ if (names.length === selectors.length) {
+ let size = names.length
+ for (let i = 0; i < size; i++) {
+ let ContentZone = {
+ name: names[i],
+ selector: selectors[i]
+ }
+ ContentZones.push(ContentZone)
+ }
+ }
+ return ContentZones;
+}
+
+function GenerateListeners(elements) {
+ let listeners = [];
+ if (elements.length > 0) {
+ for (let i = 0; i < elements.length; i++) {
+ let myEvents = SalesforceInteractions.listener("click", `${elements[i]}`, (e) => {
+ SalesforceInteractions.sendEvent({
+ interaction: {
+ name: "Botón " + SalesforceInteractions.cashDom(e.target).text(),
+ attributes: {
+ userIdCms: idUser,
+ name: userName,
+ lastName: userName,
+ isSuscriber: isSuscriber,
+ emailAddress: email,
+ continueUrl: url
+ },
+ },
+ });
+ })
+ listeners.push(myEvents)
+ }
+ }
+ return listeners;
+}
+
+function PageType(name, myUrl, interaction, listeners) {
+ this.name = name;
+ this.interaction = interaction;
+ this.isMatch = () => {
+ let url = window.location.href;
+ if (url.includes('?') || url.includes('/')) {
+ url = url.slice(0, window.location.href.lastIndexOf('?'));
+ }
+ isMatch = (url === `${enviroment}${myUrl}` ? true : false);
+
+
+ return isMatch;
+ };
+ this.listeners = GenerateListeners(listeners);
+}
+const home = new PageType("Home", "cronista.com", interactionHome, listenersHome);
+
+function Pages() {
+ return [home]
+}
+
+export { Pages }
mySiteMap.js 201(+99 -102)
diff --git a/mySiteMap.js b/mySiteMap.js
index 8c79ba5..1fda6fd 100644
--- a/mySiteMap.js
+++ b/mySiteMap.js
@@ -1,26 +1,105 @@
-SalesforceInteractions.init({
- cookieDomain: "cronista.com",
-}).then(() => {
+import { Pages } from ".Content%20Builder\Personalization\Scripts\dataFactor.js";
+
+const enviroment = 'https://dev.';
+//DATOS DE USUARIO
+const email = vsm.session.email != "" ? vsm.session.email : "";
+const idUser = vsm.session.id != "" ? vsm.session.id : "";
+const userName = vsm.session.title != "" ? vsm.session.title : "";
+const isSuscriber = site.session.isSuscriber() && site.session != undefined ? "Suscriptor" : "Usuario";
+let dateTime = new Date();
+dateTime = `${dateTime.getDate()}/${dateTime.getMonth()}/${dateTime.getFullYear()} - hora ${dateTime.getHours()}:${dateTime.getMinutes()}`
+
+
+let main = document.querySelector('.main-container');
+let block = main.querySelectorAll('div.block');
+let isMatch = false
+let url = ""
+//SELECTORES DE LA Genericos
+const ulOptions = document.querySelector('.session-options');
+const ItemsList = ulOptions.querySelectorAll('li');
+const perfil = ItemsList[1].querySelector('a');
+
+let globalZones = [
+ { name: "Header", selector: '#page-header' },
+ { name: "Footer", selector: '#page-footer' },
+]
+
+let listenersHome = [
+ `.${block[0].className} h2.title`,
+ `.${block[1].className} h2.title`,
+ `.locked a`,
+ `.columnists .items article.item`
+]
+let interactionHome = {
+ name: "Home"
+}
- const enviroment = 'https://qa';
- let dateTime = new Date();
- dateTime = `${dateTime.getDate()}/${dateTime.getMonth()}/${dateTime.getFullYear()} - hora ${dateTime.getHours()}:${dateTime.getMinutes()}`
+function GenerateContentZones(names, selectors) {
+ let ContentZones = [];
+ if (names.length === selectors.length) {
+ let size = names.length
+ for (let i = 0; i < size; i++) {
+ let ContentZone = {
+ name: names[i],
+ selector: selectors[i]
+ }
+ ContentZones.push(ContentZone)
+ }
+ }
+ return ContentZones;
+}
+
+function GenerateListeners(elements) {
+ let listeners = [];
+ if (elements.length > 0) {
+ for (let i = 0; i < elements.length; i++) {
+ let myEvents = SalesforceInteractions.listener("click", `${elements[i]}`, (e) => {
+ console.log(e.target)
+ SalesforceInteractions.sendEvent({
+ interaction: {
+ name: "Botón " + SalesforceInteractions.cashDom(e.target).text(),
+ attributes: {
+ userIdCms: idUser,
+ name: userName,
+ lastName: userName,
+ isSuscriber: isSuscriber,
+ emailAddress: email,
+ continueUrl: url
+ },
+ },
+ });
+ })
+ listeners.push(myEvents)
+ }
+ }
+ return listeners;
+}
- //DATOS DE USUARIO
- const email = vsm.session.email != "" ? vsm.session.email : "";
- const idUser = vsm.session.id != "" ? vsm.session.id : "";
- const userName = vsm.session.title != "" ? vsm.session.title : "";
- const isSuscriber = site.session.isSuscriber() && site.session != undefined ? "Suscriptor" : "Usuario";
+function PageType(name, myUrl, interaction, listeners) {
+ this.name = name;
+ this.interaction = interaction;
+ this.isMatch = () => {
+ let url = window.location.href;
+ if (url.includes('?') || url.includes('/')) {
+ url = url.slice(0, window.location.href.lastIndexOf('?'));
+ }
+ isMatch = (url === `${enviroment}${myUrl}` ? true : false);
- let main = document.querySelector('.main-container');
- let block = main.querySelectorAll('div.block');
- let isMatch = false
- let url = ""
- //SELECTORES DE LA Genericos
- const ulOptions = document.querySelector('.session-options');
- const ItemsList = ulOptions.querySelectorAll('li');
- const perfil = ItemsList[1].querySelector('a');
+ return isMatch;
+ };
+ this.listeners = GenerateListeners(listeners);
+}
+const home = new PageType("Home", "cronista.com", interactionHome, listenersHome);
+
+function Pages() {
+ return [home]
+}
+
+
+SalesforceInteractions.init({
+ cookieDomain: "cronista.com",
+}).then(() => {
const sitemapConfig = {
global: {
@@ -174,89 +253,7 @@ SalesforceInteractions.init({
name: "Default Page",
}
},
- pageTypes: [
- {
- name: "Page Home",
- isMatch: () => {
- let url = window.location.href;
- if (url.includes('?') || url.includes('/')) {
- url = url.slice(0, window.location.href.lastIndexOf('?'));
- }
- isMatch = (url === `${enviroment}.cronista.com` ? true : false);
-
-
- return isMatch;
- },
- interaction: {
- action: "Ingresa a la home",
- name: () => {
- let url = new URL(window.location.href);
- url = url.searchParams.get("utm_source");
- if (url) {
- return "Home-UTM: " + url;
- }
- else {
- return "Page Home";
- }
- },
- attributes: {
- userIdCms: idUser,
- name: userName,
- isSuscriber: isSuscriber,
- emailAddress: email,
- },
- },
- listeners: [
- SalesforceInteractions.listener("click", `.${block[0].className} h2.title`, (e) => {
- console.log(SalesforceInteractions.cashDom(e.target).text())
- SalesforceInteractions.sendEvent({
- interaction: {
- name: "Article: " + SalesforceInteractions.cashDom(e.target).text(),
- },
- user: {
- identities: {
- emailAddress: email
- },
- attributes: {
- name: userName
- }
- }
- });
- }),
- SalesforceInteractions.listener("click", `.${block[1].className} h2.title`, (e) => {
- console.log(SalesforceInteractions.cashDom(e.target).text())
- SalesforceInteractions.sendEvent({
- interaction: {
- name: "Article from home: " + SalesforceInteractions.cashDom(e.target).text(),
- },
- user: {
- identities: {
- emailAddress: email
- },
- attributes: {
- name: userName
- }
- }
- });
- }),
- SalesforceInteractions.listener("click", `.locked a`, (e) => {
- console.log(SalesforceInteractions.cashDom(e.target).text())
- SalesforceInteractions.sendEvent({
- interaction: {
- name: "Article Member from home: " + SalesforceInteractions.cashDom(e.target).text(),
- },
- });
- }),
- SalesforceInteractions.listener("click", `.columnists .items article.item`, (e) => {
- SalesforceInteractions.sendEvent({
- interaction: {
- name: "Columnists: " + SalesforceInteractions.cashDom(e.target).text(),
- },
- });
- }),
- ]
- }
- ]
+ pageTypes: Pages()
};
SalesforceInteractions.initSitemap(sitemapConfig);
});
\ No newline at end of file