То, что лично я использую в почти ежедневно в работе. Удобно чтобы такие вещи были под рукой.
В title документа
[[*longtitle:isnot=``:then=`[[*longtitle]]`:else=`[[*pagetitle]] | [[++site_name]]`]]
Menutitle fix
[[+menutitle:isnot=``:then=`[[+menutitle]]`:else=`[[+pagetitle]]`]]
Текущий год
Скрипт для того чтобы на сайте всегда был актуальный год. Код миницицирован в одну строку.
<span id="thisyear">2016</span>
<script>function thisYear() {var d = new Date();var n = d.getFullYear();document.getElementById("thisyear").innerHTML = n;}thisYear();</script>
Любопытная конструкция для вывода текущего года в MODX:
[[!+nothing123:default=`now`:strtotime:date=`%Y`]]
Fancybox
//Строчка для активации Fancybox
$(document).ready(function(){
$(".fancybox").fancybox();
});
// Восстановить форму после закрытия:
var popUpform = $('#popUpform').html();
$(".fancybox_popUpform").fancybox({
afterClose: function(){
$('#popUpform').html(popUpform);
}
});
Обычный слайдер с помощью bxSlider
Пример структуры кода для bxSlider
<ul class="bxslider"> <li><a href=""><img src="img/slider/slide1.jpg" alt="Слайд1"></a></li> <li><a href=""><img src="img/slider/slide2.jpg" alt="Слайд2"></a></li> <li><a href=""><img src="img/slider/slide3.jpg" alt="Слайд3"></a></li> </ul>
Активация bxSlider
$(document).ready(function(){
$('.bxslider').bxSlider({pager:false,auto:true});
});
Карусель с помощью bxSlider. При клике открывается Fancybox
Пример чанка для галлереи MODx (Используется пакеты Gallery и RezImgCrop):
<li><a href="[[+image_absolute:rezimgcrop=`r-1000`]]" class="fancybox" rel="album[[+album]]"><img src="[[+image_absolute:rezimgcrop=`r-x135`]]" alt="" /></a></li>
Активация карусели bxSlider
$('.image-carousel').bxSlider({
minSlides: 5,
maxSlides: 5,
slideWidth: "auto",
slideMargin: 10,
pager:false
});
Продолжить автоматичекое листание после нажатие на стрелку пользователем
К сожалению, по-умолчанию bxSlider после такого остановится и не сдвинется с места. Решение ниже.
var slider = $('.bxslider').bxSlider({
pause:'3000',
auto:'true',
mode:'fade',
captions:false,
pager:false,
onSlideAfter: function() {
slider.startAuto() // Эта строчка творит магию
}
});
Использование getCache Modx
//Обычный вызов сниппета: [[!getResources? &parents=`[[*id]]` &tpl=`element-tpl` &sortby=`menuindex` &sortdir=`ASC` &limit=`100` &depth=`0` &includeTVs=`1` ]] //Вызов сниппета с кэшированием через getCache: [[!getCache? &element=`getResources` &cacheExpires=`1440` &parents=`[[*id]]` &tpl=`element-tpl` &sortby=`menuindex` &sortdir=`ASC` &limit=`100` &depth=`0` &includeTVs=`1` ]]
Использование lightSlider
<ul class="myslider">
<li data-thumb="house_1_small.jpg" data-src="/userimg/house_1_big.jpg">
<img src="house_1_normal.jpg" />
</li>
<li data-thumb="house_2_small.jpg" data-src="/userimg/house_2_big.jpg">
<img src="house_2_normal.jpg" />
</li>
<li data-thumb="house_3_small.jpg" data-src="/userimg/house_3_big.jpg">
<img src="house_3_normal.jpg" />
</li>
<li data-thumb="house_4_small.jpg" data-src="/userimg/house_4_big.jpg">
<img src="house_4_normal.jpg" />
</li>
<li data-thumb="house_5_small.jpg" data-src="/userimg/house_5_big.jpg">
<img src="house_5_normal.jpg" />
</li>
</ul>
<script>
$(".myslider").lightSlider({
item:1,
loop:true,
gallery:true, // будут снизу превьюшки
thumbItem:4, // кол-во превьюшек снизу
slideMargin:0,
enableDrag: false,
adaptiveHeight:true,
currentPagerPosition:'left',
pause:5000,
speed:1000,
onSliderLoad: function(el) {el.lightGallery();} // врубить галерию (lightGallery)
});
</script>
Заметки и ссылки по теме:
- WOWSlider — Очень красочный слайдер. Надо бы его изучить.
- LightSlider — Возможная альтернатива для bxSlider. Есть простая реализация миниатюр под слайдером и еще несколько плюшек
- lightGallery — Возможная альтернатива для Fancybox. Есть полноэкранный режим. Очень хорошо подходит для больших картинок, т.к. есть увеличение
Комментарии (0)
Не писать ответ