Разработать виджет - слайдер новостей как на МТС

InstantCMS 2.X

ПОЛЕЗНЫЕ МАТЕРИАЛЫ Пишем доступно о возможностях, которые дают технологии

#1 7 ноября 2024 в 01:45

Пример: ПОЛЕЗНЫЕ МАТЕРИАЛЫ

kuban.mts.ru/personal

Т.е выводится N количество материалов, после которых выводится слайд со ссылкой на все материалы. 

Кто может помочь реализовать? Стили при наведении мышкой на слайд аналогично как на примере. Также и уход слайдов в конец экрана, а не по ширине контейнера.

#2 7 ноября 2024 в 08:44

 Def, что такое ПОЛЕЗНЫЕ МАТЕРИАЛЫ? И я что то не вижу в примере по ссылке того, что написано в задании.

Стили при наведении мышкой на слайд аналогично как на примере. Также и уход слайдов в конец экрана, а не по ширине контейнера.

Def



#3 7 ноября 2024 в 08:48

что такое ПОЛЕЗНЫЕ МАТЕРИАЛЫ?

Lora

По ссылке, внизу страницы есть раздел такой

Изображение
#4 7 ноября 2024 в 10:24

По ссылке, внизу страницы есть раздел такой

Loadырь

Ааа, понял) Спасибо.

Кто может помочь реализовать?

Def

Вот ваш слайдер

Вот ещё о его настройках

Сделайте копию родного виджета слайдер, для начала и в шаблоне пропишите код слайдера.

#5 7 ноября 2024 в 10:34

Сделайте копию родного виджета слайдер, для начала и в шаблоне пропишите код слайдера.

Lora

он будет визуально также уходить вправую сторону в конец экрана или это не от слайдера зависит?

#6 7 ноября 2024 в 10:44

Нужно стили наверное настраивать, ну и в полноэкранную позицию виджет вывести

#7 7 ноября 2024 в 10:49

ну и в полноэкранную позицию виджет вывести

Lora

а где там такая настройка?) Мне же слева надо чтобы было как на МТС фиксация по умолчанию по левому краю сайта, а только при листинге уходит влево

#8 7 ноября 2024 в 11:54

а где там такая настройка?)

Def

Это в виджетах)

Изображение

Работает на весь экран

Тут можно глянуть

Скачайте файлы скрипта и стилей по ссылкам в примере. Создайте в папке виджета папки для них и поместите туда. Вот простой код для вывода. А дальше стилями править надо, ну и код соответственно в нормальный вид привести)

  1. <?php
  2. $this->addJS('templates/' . $this->name . '/controllers/content/widgets/swiper/js/script.js');
  3. $this->addCSS('templates/' . $this->name . '/controllers/content/widgets/swiper/css/style.css');
  4. ?>
  5.  
  6. <div class="swiper-container">
  7. <div class="swiper-wrapper">
  8. <?php foreach ($items as $item) { ?>
  9. <?php
  10. $image = $item[(!empty($big_image_field) ? $big_image_field : $image_field)];
  11. ?>
  12. <div class="swiper-slide">
  13. <img src="<?php echo html_image_src($image, "content_list", true); ?>" class="swiper-lazy">
  14. <div class="swiper-lazy-preloader"></div>
  15. </div>
  16. <?php } ?>
  17. </div>
  18. <div class="swiper-pagination"></div>
  19. <div class="swiper-button-prev"></div>
  20. <div class="swiper-button-next"></div>
  21. </div>
  22.  
  23. <?php ob_start(); ?>
  24. <script>
  25. var swiper = new Swiper('.swiper-container', {
  26. slidesPerView: 6, // кол-во слайдов на экране
  27. spaceBetween: 30,
  28. autoplay: true,
  29. loop: true,
  30. lazy: false, // включаем отложенную загрузку изображений
  31.  
  32. pagination: {
  33. el: '.swiper-pagination',
  34. clickable: true,
  35. }
  36.  
  37. ,
  38. navigation: {
  39. nextEl: '.swiper-button-next',
  40. prevEl: '.swiper-button-prev',
  41. }
  42.  
  43. });
  44. </script>
  45. <?php $this->addBottom(ob_get_clean()); ?>
#9 7 ноября 2024 в 15:02

А дальше стилями править надо, ну и код соответственно в нормальный вид привести)

Lora

а как сделать, чтобы не на всю ширину, а именно по левому краю контейнера было по умолчанию?)

#10 7 ноября 2024 в 17:08

 Def, задайте ширину какую надо и думаю он сам встанет по левому краю.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.