Добрый вечер. У юных пользователей Инстанта сложился такой миф что InstantCMS и разработки которые они находят в интернете сделаны из разного теста. Свидетельство тому некоторые темы на нашем форуме и ваши клиенты которые интересуются у вас иногда — а такой слайдер ВОЗМОЖНО сделать на инстанте? Конечно возможно, главное чтобы голова работала и понимала что вам необходимо сделать для достижения цели. И так сегодня я покажу маленький урок преобразования модуля Новости в карусель. Для начала нам необходим слайдер, я давно знаком с OWL Carousel http://owlgraphic.com/owlcarousel/, данный скрипт подходит для адаптивного шаблона, очень много настроек, единственный для меня недостаток — нет вертикальной карусели. Теперь создаем в папке модулей новый шаблон для модуля и назовем его module_latest_carousel.tpl, далее открываем файл module.tpl копируем его содержимое и ставим в module_latest_carousel.tpl, затем копируем следующий код из mod_latest.tpl
и заменяем им переменную {$mod.body} в module_latest_carousel.tpl
былостало
Открываем папку скачанного нами скрипта. Файлы стилей объединяем owl.carousel.css owl.theme.css owl.transitions.css, то есть содержимое двух последних переносим в первую и загружаем его в папку стилей. Скрипт карусели owl.carousel.min.js загружаем в папку js. И подключаем их либо в template.php или в самом файле шаблона модуля таким вот образом
Все что нужно мы подключили осталось настроить скрипт как нам необходимо. Я задумал следующее. Вывести модуль в позицию mainbottom (в дефолтном шаблоне ) выводить в новости 3 колонки с автоплеем и показать навигацию, как это сделять наглядно указано в документации на сайте.
ЧТо за что отвечает
autoPlay :true, автоплей -да
items :3, колонок три
itemsDesktop: [1000,3], если ширина экрана где то там 1000пикселей. (почему то указывая только items :3, у меня ничего не срабатывает и показывает 5колонок.)
stopOnHover :true, -остонавливать при наведении — да
pagination :true, — плагинация да
navigation :true, — навигация — да
navigationText: ["<",">"] — текст в навигации.
И последний штрих это нужно обернуть
в
и дополняем добавляем класс item к <div class="mod_latest_entry"> -> <div class="item mod_latest_entry">
Заходим в админку, выбираем шаблон для модуля новостей module_latest_carousel.tpl и смотрим на результат.
https://yadi.sk/i/NytMCJn7Xzt7U
Архив скачать
{foreach key=aid item=article from=$articles} <div class="mod_latest_entry"> {if $article.image} <div class="mod_latest_image"> <img src="/images/photos/small/{$article.image}" width="32" height="32" alt="{$article.title|escape:'html'}"/> </div> {/if} <a class="mod_latest_title" href="{$article.url}">{$article.title}</a> {if $cfg.showdate} <div class="mod_latest_date"> {$article.fpubdate} - <a href="{profile_url login=$article.user_login}">{$article.author}</a>{if $cfg.showcom} - <a href="{$article.url}" title="{$article.comments|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" class="mod_latest_comments">{$article.comments}</a>{/if} - <span class="mod_latest_hits">{$article.hits}</span> </div> {/if} {if $cfg.showdesc} <div class="mod_latest_desc" style="overflow:hidden"> {$article.description|strip_tags|truncate:200} </div> {/if} </div> {/foreach}
было
<div class="{$mod.css_prefix}modulebody">{$mod.body}</div>
<div class="{$mod.css_prefix}modulebody"> {foreach key=aid item=article from=$articles} <div class="mod_latest_entry"> {if $article.image} <div class="mod_latest_image"> <img src="/images/photos/small/{$article.image}" width="32" height="32" alt="{$article.title|escape:'html'}"/> </div> {/if} <a class="mod_latest_title" href="{$article.url}">{$article.title}</a> {if $cfg.showdate} <div class="mod_latest_date"> {$article.fpubdate} - <a href="{profile_url login=$article.user_login}">{$article.author}</a>{if $cfg.showcom} - <a href="{$article.url}" title="{$article.comments|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" class="mod_latest_comments">{$article.comments}</a>{/if} - <span class="mod_latest_hits">{$article.hits}</span> </div> {/if} {if $cfg.showdesc} <div class="mod_latest_desc" style="overflow:hidden"> {$article.description|strip_tags|truncate:200} </div> {/if} </div> {/foreach} </div>
{add_js file='templates/_default_/js/owl.carousel.min.js'} {add_css file='templates/_default_/css/owl.carousel.css'} {literal} <script type="text/javascript"> $(document).ready(function() { var owl = $("#owl-demo"); owl.owlCarousel({ autoPlay :true, items :3, itemsDesktop : [1000,3], stopOnHover :true, pagination :true, navigation :true, navigationText : ["<",">"] }); }); </script> {/literal}
autoPlay :true, автоплей -да
items :3, колонок три
itemsDesktop: [1000,3], если ширина экрана где то там 1000пикселей. (почему то указывая только items :3, у меня ничего не срабатывает и показывает 5колонок.)
stopOnHover :true, -остонавливать при наведении — да
pagination :true, — плагинация да
navigation :true, — навигация — да
navigationText: ["<",">"] — текст в навигации.
И последний штрих это нужно обернуть
{foreach key=aid item=article from=$articles} {/foreach}
<div id="owl-demo" class="owl-carousel owl-theme"> {foreach key=aid item=article from=$articles} {/foreach}</div>
Заходим в админку, выбираем шаблон для модуля новостей module_latest_carousel.tpl и смотрим на результат.
https://yadi.sk/i/NytMCJn7Xzt7U
Архив скачать
Реклама #
Trang 10 лет назад #
Atid 10 лет назад #
Keenman 10 лет назад #
Бурдель Дмитрий 10 лет назад #
Atid 10 лет назад #
Stecc 10 лет назад #
Endroid 8 лет назад #