first commit 2
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
/**
|
||||
* rb.mod.banner :: rb.wide_slide/banner.skin.php
|
||||
* 배너 그룹 스킨 (래퍼)
|
||||
*/
|
||||
|
||||
// CSS 로드
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_URL.'/rb/rb.mod/banner/skin/rb.wide_slide/style.css">', 0);
|
||||
|
||||
// Swiper 라이브러리 로드 (테마에 포함된 경우)
|
||||
if (is_file(G5_THEME_PATH.'/js/swiper/swiper-bundle.min.js')) {
|
||||
add_javascript('<script src="'.G5_THEME_URL.'/js/swiper/swiper-bundle.min.js"></script>', 10);
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="rb-banner-wide-slide">
|
||||
<div class="swiper-container">
|
||||
<div class="swiper-wrapper">
|
||||
<?php
|
||||
// 배너 목록이 있으면 루프를 돌며 skin.php를 include
|
||||
if (isset($banners) && is_array($banners)) {
|
||||
foreach ($banners as $banner) {
|
||||
include(dirname(__FILE__).'/skin.php');
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<!-- 네비게이션 버튼 -->
|
||||
<div class="swiper-button-next"></div>
|
||||
<div class="swiper-button-prev"></div>
|
||||
<!-- 페이징 -->
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 이 스킨 전용 Swiper 초기화
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
// 동일한 스킨이 여러 개 있을 수 있으므로, 고유한 클래스를 부여하거나 ID를 사용해야 합니다.
|
||||
// 여기서는 이 스킨의 최상위 클래스 내에 있는 swiper-container를 찾습니다.
|
||||
var swiper = new Swiper('.rb-banner-wide-slide .swiper-container', {
|
||||
loop: true,
|
||||
autoplay: {
|
||||
delay: 5000,
|
||||
disableOnInteraction: false,
|
||||
},
|
||||
pagination: {
|
||||
el: '.swiper-pagination',
|
||||
clickable: true,
|
||||
},
|
||||
navigation: {
|
||||
nextEl: '.swiper-button-next',
|
||||
prevEl: '.swiper-button-prev',
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
/**
|
||||
* rb.mod.banner :: rb.wide_slide/skin.php
|
||||
* 단일 배너 아이템 스킨 (슬라이드용)
|
||||
*/
|
||||
?>
|
||||
<div class="swiper-slide">
|
||||
<a href="<?php echo $banner['bn_url']; ?>" target="_<?php echo $banner['bn_new_win'] ? 'blank' : 'self'; ?>">
|
||||
<div class="banner-image">
|
||||
<?php echo $banner['bn_img']; ?>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -0,0 +1,53 @@
|
||||
@charset "utf-8";
|
||||
|
||||
/* 💡 [최종 수정] 와이드 슬라이드 스타일 */
|
||||
.rb-banner-wide-slide {
|
||||
position: relative;
|
||||
width: 728px; /* 💡 [핵심] 와이드 배너 너비 고정 */
|
||||
height: 90px; /* 💡 [핵심] 와이드 배너 높이 고정 */
|
||||
overflow: hidden;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
||||
border-radius: 8px;
|
||||
margin: 0 auto; /* 중앙 정렬 */
|
||||
}
|
||||
|
||||
.rb-banner-wide-slide .swiper-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.rb-banner-wide-slide .swiper-slide {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.rb-banner-wide-slide .banner-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* 💡 [최종 수정] img 태그 자체의 크기를 와이드 배너(728x90)로 강제 고정 */
|
||||
.rb-banner-wide-slide .banner-image img {
|
||||
width: 728px !important;
|
||||
height: 90px !important;
|
||||
object-fit: cover !important;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Swiper 네비게이션 버튼 스타일 (필요시 수정) */
|
||||
.rb-banner-wide-slide .swiper-button-next,
|
||||
.rb-banner-wide-slide .swiper-button-prev {
|
||||
color: #fff;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.rb-banner-wide-slide .swiper-button-next:after,
|
||||
.rb-banner-wide-slide .swiper-button-prev:after {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.rb-banner-wide-slide .swiper-pagination-bullet-active {
|
||||
background: #fff;
|
||||
}
|
||||
Reference in New Issue
Block a user