first commit
This commit is contained in:
832
modules/pdgoogleanalytycs4pro/views/js/scripts_17.js
Normal file
832
modules/pdgoogleanalytycs4pro/views/js/scripts_17.js
Normal file
@@ -0,0 +1,832 @@
|
||||
/*
|
||||
* 2012-2022 Patryk Marek PrestaDev.pl
|
||||
*
|
||||
* Patryk Marek PrestaDev.pl - PD Google Analytycs 4.0 Pro 1.6.x and 1.7.x Module © All rights reserved.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit, modify or copy this file.
|
||||
* If you wish to customize it, contact us at info@prestadev.pl.
|
||||
*
|
||||
* @author Patryk Marek <info@prestadev.pl>
|
||||
* @copyright 2012-2022 Patryk Marek @ PrestaDev.pl
|
||||
* @license Do not edit, modify or copy this file, if you wish to customize it, contact us at info@prestadev.pl.
|
||||
* @link http://prestadev.pl
|
||||
* @package PD Google Analytycs 4.0 Pro 1.6.x and 1.7.x Module
|
||||
* @version 1.0.2
|
||||
* @date 01-05-2021
|
||||
*/
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
let pdgoogleanalytycs4pro_quantity_wanted = 1,
|
||||
PdDelayFunction = (function () {
|
||||
var timer = 0;
|
||||
return function (callback, ms) {
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(callback, ms);
|
||||
};
|
||||
})();
|
||||
|
||||
// supercheckout send carrier and payment default selections events
|
||||
if ($("body#module-supercheckout-supercheckout").length > 0) {
|
||||
|
||||
PdDelayFunction(function () {
|
||||
|
||||
let id_carrier = parseInt($('input.delivery_option_radio:checked').val());
|
||||
if (typeof(id_carrier) !== 'undefined'){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addDeliveryInfo', 'id_carrier': id_carrier, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let payment_module = $('input[name=payment_method]:checked').data('module-name');
|
||||
if (typeof(payment_module) !== 'undefined'){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addPaymentInfo', 'payment_module': payment_module, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}, 1500);
|
||||
}
|
||||
|
||||
// supercheckout
|
||||
$("body#module-supercheckout-supercheckout").on("click", "input.delivery_option_radio:checked", function() {
|
||||
let id_carrier = parseInt(this.value);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addDeliveryInfo', 'id_carrier': id_carrier, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// supercheckout
|
||||
$("body#module-supercheckout-supercheckout").on("click", "input[name=payment_method]:checked", function() {
|
||||
let payment_module = $(this).data('module-name');
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addPaymentInfo', 'payment_module': payment_module, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// thecheckout send carrier and payment default selections events
|
||||
if ($("body#module-thecheckout-order").length > 0) {
|
||||
|
||||
PdDelayFunction(function () {
|
||||
|
||||
let id_carrier = parseInt($('input[type=radio][name^=delivery_option]:checked').val());
|
||||
|
||||
if (typeof(id_carrier) !== 'undefined'){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addDeliveryInfo', 'id_carrier': id_carrier, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let payment_module = $('input[name=payment-option]:checked').data('module-name');
|
||||
|
||||
if (typeof(payment_module) !== 'undefined'){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addPaymentInfo', 'payment_module': payment_module, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
$("body#module-thecheckout-order").on("click", "input[type=radio][name^=delivery_option]:checked", function() {
|
||||
let id_carrier = parseInt(this.value);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addDeliveryInfo', 'id_carrier': id_carrier, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("body#module-thecheckout-order").on("click", "input[name=payment-option]:checked", function() {
|
||||
let payment_module = $(this).data('module-name');
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addPaymentInfo', 'payment_module': payment_module, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("body#checkout").on("click", '.delivery-options input[type="radio"]:checked', function() {
|
||||
let id_carrier = parseInt(this.value);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addDeliveryInfo', 'id_carrier': id_carrier, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("body#checkout").on("click", 'input[name="payment-option"]:checked', function() {
|
||||
let payment_module = $(this).data('module-name');
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addPaymentInfo', 'payment_module': payment_module, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// opc steasycheckout
|
||||
$("body.module-steasycheckout-default").on("click", 'input[type=radio][name^=delivery_option]:checked', function() {
|
||||
let id_carrier = parseInt(this.value);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addDeliveryInfo', 'id_carrier': id_carrier, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// opc steasycheckout
|
||||
$("body.module-steasycheckout-default").on("click", 'input[name="payment-option"]:checked', function() {
|
||||
let payment_module = $(this).data('module-name');
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'addPaymentInfo', 'payment_module': payment_module, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
$('#hook-display-before-carrier').html(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
if (typeof(prestashop) !== 'undefined') {
|
||||
|
||||
//prestashop.on('changedCheckoutStep', function(params) {
|
||||
// if (typeof(params.event.currentTarget.id) !== 'undefined') {
|
||||
// let step = params.event.currentTarget.id,
|
||||
// step_call_elm = params.event.target.id;
|
||||
|
||||
// if (step == 'checkout-payment-step' && step_call_elm != 'conditions_to_approve[terms-and-conditions]') {
|
||||
|
||||
// let payment_module = $('input[name="payment-option"]:checked').data('module-name');
|
||||
|
||||
// $.ajax({
|
||||
// type: "POST",
|
||||
// url: pdgoogleanalytycs4pro_ajax_link,
|
||||
// data: {'action': 'addPaymentInfo', 'payment_module': payment_module, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax: true},
|
||||
// dataType: "json",
|
||||
// success: function(data) {
|
||||
// if (data) {
|
||||
// $('#hook-display-before-carrier').html(data);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
//});
|
||||
|
||||
if (pd_google_analitycs_controller != 'cart') {
|
||||
prestashop.on('updateProduct', function(params) {
|
||||
if (typeof(params) !== 'undefined') {
|
||||
pdgoogleanalytycs4pro_quantity_wanted = $(params.event.currentTarget).val();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (pd_google_analitycs_controller != 'cart') {
|
||||
prestashop.on('updateCart', function(params) {
|
||||
if (typeof(params) !== 'undefined' && typeof(prestashop.cart) !== 'undefined') {
|
||||
|
||||
let iso_code = prestashop.currency.iso_code,
|
||||
product_id = params.reason.idProduct,
|
||||
product_id_product_attribute = params.reason.idProductAttribute;
|
||||
|
||||
if (typeof(product_id) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined' && typeof(pdgoogleanalytycs4pro_quantity_wanted) !== 'undefined') {
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'updateCart', 'product_id': product_id, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: add_to_cart');
|
||||
gtag('event', 'add_to_cart', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: pdgoogleanalytycs4pro_quantity_wanted
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// qty up > thecheckout module opc
|
||||
$('body').on("click", "a.cart-line-product-quantity-up", function(e) {
|
||||
|
||||
let qty_input = $(this).parent().find('input.cart-line-product-quantity'),
|
||||
updat_url = qty_input.attr('data-update-url'),
|
||||
url_params = PdParseQuery(updat_url),
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
if (typeof(url_params.id_product) !== 'undefined' && typeof(url_params.id_product_attribute) !== 'undefined') {
|
||||
var product_id_product = url_params.id_product;
|
||||
var product_id_product_attribute = url_params.id_product_attribute;
|
||||
}
|
||||
|
||||
if (typeof(product_id_product) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined') {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'updateCart', 'product_id': product_id_product, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: add_to_cart');
|
||||
gtag('event', 'add_to_cart', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value,
|
||||
currency: iso_code,
|
||||
quantity: 1
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// qty up > thecheckout module opc user entered value
|
||||
$('body').on("keyup", "input.cart-line-product-quantity", function(e) {
|
||||
|
||||
PdDelayFunction(function () {
|
||||
|
||||
let qty_input = $('input.cart-line-product-quantity'),
|
||||
qty_input_val = parseInt($('input.cart-line-product-quantity').val()),
|
||||
updat_url = qty_input.attr('data-update-url'),
|
||||
url_params = PdParseQuery(updat_url),
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
if (typeof(url_params.id_product) !== 'undefined' && typeof(url_params.id_product_attribute) !== 'undefined') {
|
||||
var product_id_product = url_params.id_product;
|
||||
var product_id_product_attribute = url_params.id_product_attribute;
|
||||
}
|
||||
|
||||
if (typeof(product_id_product) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined' && qty_input_val > 0) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'updateCart', 'product_id': product_id_product, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: add_to_cart');
|
||||
gtag('event', 'add_to_cart', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value,
|
||||
currency: iso_code,
|
||||
quantity: qty_input_val
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}, 800);
|
||||
});
|
||||
|
||||
// down qty > thecheckout module opc
|
||||
$('body').on("click", "a.cart-line-product-quantity-down", function(e) {
|
||||
|
||||
let qty_input = $(this).parent().find('input.cart-line-product-quantity'),
|
||||
updat_url = qty_input.attr('data-update-url'),
|
||||
url_params = PdParseQuery(updat_url),
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
if (typeof(url_params.id_product) !== 'undefined' && typeof(url_params.id_product_attribute) !== 'undefined') {
|
||||
var product_id_product = url_params.id_product;
|
||||
var product_id_product_attribute = url_params.id_product_attribute;
|
||||
}
|
||||
|
||||
if (typeof(product_id_product) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined') {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'updateCart', 'product_id': product_id_product, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: remove_from_cart');
|
||||
gtag('event', 'remove_from_cart', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: 1
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// qty up > stadard theme ps 17
|
||||
$('body').on("click", "button.bootstrap-touchspin-up", function(e) {
|
||||
|
||||
let qty_input = $(this).parent().parent().find('input.js-cart-line-product-quantity'),
|
||||
updat_url = qty_input.attr('data-update-url'),
|
||||
url_params = PdParseQuery(updat_url),
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
|
||||
if (typeof(url_params.id_product) !== 'undefined' && typeof(url_params.id_product_attribute) !== 'undefined') {
|
||||
var product_id_product = url_params.id_product;
|
||||
var product_id_product_attribute = url_params.id_product_attribute;
|
||||
}
|
||||
|
||||
if (typeof(product_id_product) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined') {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'updateCart', 'product_id': product_id_product, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: add_to_cart');
|
||||
gtag('event', 'add_to_cart', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: 1
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// qty down > stadard theme ps 17
|
||||
$('body').on("click", "button.bootstrap-touchspin-down", function(e) {
|
||||
|
||||
let qty_input = $(this).parent().parent().find('input.js-cart-line-product-quantity'),
|
||||
updat_url = qty_input.attr('data-update-url'),
|
||||
url_params = PdParseQuery(updat_url),
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
if (typeof(url_params.id_product) !== 'undefined' && typeof(url_params.id_product_attribute) !== 'undefined') {
|
||||
var product_id_product = url_params.id_product;
|
||||
var product_id_product_attribute = url_params.id_product_attribute;
|
||||
}
|
||||
|
||||
if (typeof(product_id_product) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined') {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'productClick', 'product_id': product_id_product, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: remove_from_cart');
|
||||
gtag('event', 'remove_from_cart', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: 1
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('body').on("click", ".js-product-miniature a.product_img_link", function(e) {
|
||||
let product_container = $(this).parents('article'),
|
||||
product_url = $(this).attr('href').trim(),
|
||||
product_id = product_container.attr('data-id-product'),
|
||||
product_id_product_attribute = product_container.attr('data-id-product-attribute');
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
if (typeof(product_id) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined' && typeof(product_url) !== 'undefined') {
|
||||
e.preventDefault();
|
||||
setTimeout(function () {
|
||||
document.location = product_url;
|
||||
}, 700);
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'productClick', 'product_id': product_id, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: select_item');
|
||||
gtag('event', 'select_item', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: 1
|
||||
}],
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// standard theme ps 1.7 select item
|
||||
$('body').on("click", ".js-product-miniature a.thumbnail", function(e) {
|
||||
|
||||
|
||||
let product_container = $(this).parents('article'),
|
||||
product_url = $(this).attr('href').trim(),
|
||||
product_id = product_container.attr('data-id-product'),
|
||||
product_id_product_attribute = product_container.attr('data-id-product-attribute');
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
if (typeof(product_id) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined' && typeof(product_url) !== 'undefined') {
|
||||
e.preventDefault();
|
||||
|
||||
setTimeout(function () {
|
||||
document.location = product_url;
|
||||
}, 700);
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'productClick', 'product_id': product_id, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: select_item');
|
||||
gtag('event', 'select_item', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: 1
|
||||
}],
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Transformer theme add to cart butons on product lists
|
||||
$('body').on("click", ".ajax_add_to_cart_button", function(e) {
|
||||
|
||||
let article = $(this).parents('article.js-product-miniature'),
|
||||
product_qty = parseInt(article.find('input[name=pro_quantity]').val()),
|
||||
product_id = parseInt(article.attr('data-id-product')),
|
||||
product_id_product_attribute = parseInt(article.attr('data-id-product-attribute')),
|
||||
iso_code = prestashop.currency.iso_code;
|
||||
|
||||
|
||||
if (typeof(product_id) !== 'undefined' && typeof(product_id_product_attribute) !== 'undefined') {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'updateCart', 'product_id': product_id, 'product_id_product_attribute' : product_id_product_attribute, 'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: add_to_cart');
|
||||
gtag('event', 'add_to_cart', {
|
||||
currency: iso_code,
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: '',
|
||||
discount: data.content_discount,
|
||||
index: '1',
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
affiliation: data.http_referer,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: product_qty ? product_qty : pdgoogleanalytycs4pro_quantity_wanted
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
prestashop.on('updateProduct', function(params) {
|
||||
|
||||
|
||||
if (typeof(params) !== 'undefined' && params.eventType == 'updatedProductCombination') {
|
||||
let iso_code = prestashop.currency.iso_code,
|
||||
product_id = parseInt(document.getElementsByName('id_product')[0].value),
|
||||
groups = [],
|
||||
select_groups = document.getElementsByClassName('form-control-select'),
|
||||
input_color_group = document.getElementsByClassName('input-color'),
|
||||
input_radio_group = document.querySelector('.input-radio:checked');
|
||||
|
||||
if (typeof(select_groups) != 'undefined' && select_groups != null) {
|
||||
for (select_count = 0; select_count < select_groups.length; select_count++) {
|
||||
groups.push(select_groups[select_count].value);
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof(input_color_group) != 'undefined' && input_color_group != null) {
|
||||
for (color_count = 0; color_count < input_color_group.length; color_count++) {
|
||||
if (input_color_group[color_count].checked) {
|
||||
groups.push(input_color_group[color_count].value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof(input_radio_group) != 'undefined' && input_radio_group != null) {
|
||||
for (radio_count = 0; radio_count < input_radio_group.length; radio_count++) {
|
||||
if (input_radio_group[radio_count].checked) {
|
||||
groups.push(input_radio_group[radio_count].value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof groups !== 'undefined' && groups.length > 0 && typeof product_id !== 'undefined') {
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: pdgoogleanalytycs4pro_ajax_link,
|
||||
data: {'action': 'updateProduct', 'product_id': product_id, 'attributes_groups': groups,'secure_key': pdgoogleanalytycs4pro_secure_key, ajax : true},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
console.log('Fired up event GA4: view_item on combination change');
|
||||
PdSetEventFireUpDelay(250);
|
||||
gtag('event', 'view_item', {
|
||||
items: [{
|
||||
item_id: data.content_ids,
|
||||
item_name: data.content_name,
|
||||
coupon: "",
|
||||
discount: data.content_discount,
|
||||
affiliation: data.http_referer,
|
||||
item_list_name: pd_google_analitycs_controller,
|
||||
item_list_id: pd_google_analitycs_controller,
|
||||
item_brand: data.content_manufacturer,
|
||||
item_category: data.content_category,
|
||||
item_category2: (data.content_category2.length) ? data.content_category2 : '',
|
||||
item_category3: (data.content_category3.length) ? data.content_category3 : '',
|
||||
item_category4: (data.content_category4.length) ? data.content_category4 : '',
|
||||
item_category5: (data.content_category5.length) ? data.content_category5 : '',
|
||||
item_variant: data.content_variant,
|
||||
price: data.content_value_old,
|
||||
currency: iso_code,
|
||||
quantity: 1
|
||||
}],
|
||||
value: data.content_value
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function PdSetEventFireUpDelay(ms) {
|
||||
var cur_d = new Date();
|
||||
var cur_ticks = cur_d.getTime();
|
||||
var ms_passed = 0;
|
||||
while(ms_passed < ms) {
|
||||
var d = new Date();
|
||||
var ticks = d.getTime();
|
||||
ms_passed = ticks - cur_ticks;
|
||||
}
|
||||
}
|
||||
|
||||
function PdParseQuery(str) {
|
||||
|
||||
if(typeof str != "string" || str.length == 0) return {};
|
||||
var s = str.split("&");
|
||||
var s_length = s.length;
|
||||
var bit, query = {}, first, second;
|
||||
for(var i = 0; i < s_length; i++) {
|
||||
bit = s[i].split("=");
|
||||
first = decodeURIComponent(bit[0]);
|
||||
if(first.length == 0) continue;
|
||||
second = decodeURIComponent(bit[1]);
|
||||
if(typeof query[first] == "undefined") query[first] = second;
|
||||
else if(query[first] instanceof Array) query[first].push(second);
|
||||
else query[first] = [query[first], second];
|
||||
}
|
||||
return query;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user