pdoResources, pdoPage, Masonry
Доброго всем дня и всяческих успехов)))
Поделитесь пожалуйста решением связки pdoResources, pdoPage, Masonry.
Предварительно подключаем скрипты Masonry
Поделитесь пожалуйста решением связки pdoResources, pdoPage, Masonry.
[[!pdoPage?
&parents=`4`
&ajaxMode=`button`
&limit=`5`
&ajaxTplMore=`tplAjaxButton`
&depth=`1`
&tpl=`tplInterieri`
&includeTVs=`projectFaceImg,yearProgect`
&sortdir=`ASC`
&sortby=`menuindex`
]]Пробую вызывать таким образом.Предварительно подключаем скрипты Masonry
<script src="[[++assets_url]]js/masonry/imagesloaded.pkgd.min.js"></script>
<script src="[[++assets_url]]js/masonry/masonry.pkgd.min.js"></script>
<script>
//этот код срабатывает когда мы открываем страницу в первый раз
$(document).ready(function() {
var $container = $(".masonry-container");
$container.imagesLoaded(function () {
$container.masonry({
columnWidth: 1,
itemSelector: ".item"
});
});
});
// этот код призван отработать, когда мы нажимаем на кнопку подгрузки ресурсов
// в моем случае это tplAjaxButton (<button class="btn btn-default btn-more">Показать еще 10</button>)
$(document).on('pdopage_load', function() {
var $container = $(".masonry-container");
$container.imagesLoaded(function () {
$container.masonry({
columnWidth: 1,
itemSelector: ".item"
});
});
});
</script>С такой конструкцией новые ресурсы выводятся поверх старых, если убрать один из кусков кода, то все начинает работать. Комментарии: 4
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Давая небольшую задержку через setTimeout, заработало на ура.
Вот финальный код:
Что странно. По идее не нужно никакой задержки.