То, что лично я использую в почти ежедневно в работе. Удобно чтобы такие вещи были под рукой.
В 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)
Не писать ответ