Compatibilité avec le module Exit Popup de Prestashop

Publié le : 19/11/2016 11:32:05
Catégories : FAQ

Modifications à apporter au module Exit Popup:

Déplacé ces deux lignes qui sont dans la fonction hookDisplayFooter()

$this->context->controller->addJS($this->_path.'/views/js/flipclock.min.js');
$this->context->controller->addJS($this->_path.'/views/js/front.js');

dans la fonction hookHeader()

Code Javascript a ajouter dans l'onglet "Modules dynamiques"

function isPdgStickyVisible() {
	return $('#pdg_sticky').position().left > -380;
}

if (oderConfirmation == 1) {
    $('#pdg_sticky').fadeOut('slow');
}

if (pdg_timer > 0) {
    var clock = $('#pdg_clock').FlipClock(pdg_timer, {
        clockFace: 'HourlyCounter',
        countDown: true,
        autoStart: true
    });
    clock.setCountdown(true);
}

$('#pdg_sticky a').click(function(e) {
    if (!isPdgStickyVisible()) {
        $(this).parent().animate({
            'left': '0px'
        }, 300);
    } else {
        $(this).parent().animate({
            'left': '-400px'
        }, 300);
    }
    $(this + ' .fa').toggleClass('fa-arrow-left');
    $(this + ' .fa').toggleClass('fa-ticket');
    $(this + ' #toggle_text').toggleClass('hidden');

});

$('#pdg_sticky a').hover(
    function() {
        if (!isPdgStickyVisible()) {
            $(this).parent().animate({
                'left': '-380px'
            }, 300);
        }
    },
    function() {
        if (!isPdgStickyVisible()) {
            $(this).parent().animate({
                'left': '-400px'
            }, 300);
        }
    }
);

if (any_popin == 0) {
    return;
}

var _ouibounce = ouibounce(document.getElementById('ouibounce-modal'), {
    aggressive: true,
    timer: 0,
    callback: function() {
        Shadowbox.init({
            skipSetup: true
        });
        Shadowbox.open({
            content: data,
            player: "html",
            height: height,
            width: width,
            options: {
                onFinish: onOpen
            }
        });
    }
});

function onOpen() {

    $.ajax({
        type: 'POST',
        url: pdg_ajax_url,
        data: {
            action: 'SetCookie',
            ajax: true
        },
        async: false
    }).success(function(data) {

    });

    $('#cta .pdg_btn').click(function() {
        // APPEL AJAX POUR CREER LA DISCOUNT ET RECUP LE CODE
        $.ajax({
            type: 'POST',
            url: pdg_ajax_url,
            data: {
                action: 'CreateCartRule',
                ajax: true,
                popinId: popinId,
            },
            async: false
        }).success(function(data) {
            $('#cta .pdg_btn').parent().fadeOut('slow', function() {
                var obj = $.parseJSON(data);
                $('#pdg_code').html(obj.code);
                $("#your_voucher #code").html(obj.code);
                $('#txt5_content').fadeIn('slow', function() {
                    $('#pdg_sticky').fadeIn('slow');
                    var clock = $('#pdg_clock').FlipClock(obj.time_remaining, {
                        clockFace: 'HourlyCounter',
                        countDown: true,
                        autoStart: true
                    });
                    clock.setCountdown(true);
                });
            });
        });
    });
}

Dans l'onglet "Modules dynamiques" cochez le module Pop Exit dans le displayTop et le displayFooter ainsi que l'option "Ne rien afficher avant le rafraichissement" pour chacun.

Ensuite cela devrait fonctionner!

Vous devez être enregistré

Cliquez ici pour vous enregistrer

Ajouter un commentaire