Проблема (купить в 1 клик, модальное окно). pdoPage, Ajax [РЕШЕНО]
Добрый день!
Есть сайт, на нем стандартный вывод товаров через pdoPage (ajax) кнопкой «показать еще». В карточке товара есть кнопка «Купить в один клик»:
Может кто-то уже сталкивался с подобным? Подскажите. Спасибо!
Есть сайт, на нем стандартный вывод товаров через pdoPage (ajax) кнопкой «показать еще». В карточке товара есть кнопка «Купить в один клик»:
<a class="fancyboxModal element__application-button" style="font-weight: 700;" href="#productapplication" data-theme="{$pagetitle | striptags | replace :' "':' «' | replace :'"':'»'}" data-id="{$id}">Купить в 1 клик</a>
и немного js:$('#pdopage').on('click','a[href="#productapplication"]',function(e){
e.preventDefault();
var productapplicationtheme, productapplicationid;
productapplicationtheme = $(this).data('theme');
productapplicationid = $(this).data('id')
$('#productapplicationinput').val(productapplicationtheme);
});
Но, работает модальное окно только на первой странице, если нажать кнопку «показать еще», товары показываются, но кнопка «Купить в один клик» уже не работает. Я думаю это связано с DOM деревом, но не пойму как решить.Может кто-то уже сталкивался с подобным? Подскажите. Спасибо!
Комментарии: 6
Попробуйте переинициализировать fancybox по callback от pdoPage:
<script>
if(typeof pdoPage !== 'undefined') {
pdoPage.callbacks.after = function(config, response) {
$('.fancyboxModal ').fancybox({
// .....
});
};
}
</script>
Павел, добрый день!
Спасибо за ответ, но я не совсем понял что надо сделать? :(
Спасибо за ответ, но я не совсем понял что надо сделать? :(
Добавить этот код на страницу, прописав вместо //… опции fancybox, которые у Вас используются для при клике на ссылку с классом fancyboxModal.
А если так?:
<script>
if(typeof pdoPage !== 'undefined') {
pdoPage.callbacks.after = function(config, response) {
$('.fancyboxModal ').fancybox({
// .....
});
$('#pdopage').removeClass('loading');
$('#pdopage').css('opacity', 1);
};
}
А так все супер! Павел, спасибо огромное!!!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.