swiper 로 게시판 글 불러오는거 질문드려요 !

swiper 로 게시판 글 불러오는거 질문드려요 !

QA

swiper 로 게시판 글 불러오는거 질문드려요 !

본문

제가 메인페이지에 swiper 로 게시판 글을 불러오려고 하는데 

게시판 글을 불러오는건 되었는데 

이게 swiper로 하다 보니 1개의 slide에 게시물 24개가 나오고

다음 slide에는 그 다음 게시물 24개가 나오고 해야 하는데 

현재는 slide에 게시물 24개가 나오는데 다음 slide에서 첫번째 slide에 나온 게시물 말고
다음 게시물 24개가 나오는게 아니라 첫번째 slide의 게시물 24개가 계속 반복해서 나와서요 .. 
 

어떻게하면 좋을지 알려주세요 ㅠㅠ 머리가 안돌아가요 ... ㅠㅠ 

아래에 코드 같이 첨부 드릴께요 



<div class="selfie_cont_wrap pc-only">
    <div class="swiper-container selfie_swiper_container">
        <div class="swiper-wrapper">
            <?php echo latest('gallery_selfie', 'gallery_selfie', 100, 100); ?>
        </div>
        <div class="swiper-button-next"></div>
        <div class="swiper-button-prev"></div>
    </div>
</div>

이게 메인페이지에서 게시물 불러오는 부분이고 

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
$thumb_width = 155;
$thumb_height = 155;
$list_count = (is_array($list) && $list) ? count($list) : 0;
?>
 
<?php
for ($i=0; $i<$list_count; $i++) {
?>
<div class="swiper-slide">
    <ul class="selfie_list_ul">
        <?php
        for ($i=0; $i<$list_count; $i++) {
        $thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
        if($thumb['src']) {
            $img = $thumb['src'];
        } else {
            $img = G5_IMG_URL.'/no_img.png';
            $thumb['alt'] = '이미지가 없습니다.';
        }
        $img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
        $wr_href = get_pretty_url($bo_table, $list[$i]['wr_id']);
        ?>
        <li>
            <?php echo run_replace('thumb_image_tag', $img_content, $thumb); ?>
        </li>
        <?php }  ?>
    </ul>
</div>
<?php }  ?>
<?php if ($list_count == 0) { //게시물이 없을 때  ?>
<div class="empty_li">게시물이 없습니다.</div>
<?php }  ?>

이 부분이 latest 에 있는 for문 사용하여 만든 부분인데.. 

여기서 어떻게해야 전체 게시물이 한 slide 당 24개 씩 나오게 할 수 있을까요 ? ㅠㅠ  

이 질문에 댓글 쓰기 :

답변 1


<div class="selfie_count_wrap pc-only">
   <?php echo latest('gallery_selfie', 'gallery_selfie', 100, 100); ?>
</div>

일단 latest 함수안에 이미 반복이 돌아가고 있기때문에 그 안에서 다 24개씩 게시물을 끊어줄것 이기때문에 latest함수를 슬라이드 밖으로 빼줍니다.

// 기존코드
$list_count = (is_array($list) && $list) ? count($list) : 0;
?>
<div class="swiper-container selfie_swiper_container">
  <div class="swiper-wrapper">
  <?php
  for ($i = 0; $i < $list_count; $i++) { ?>
    <?php
    // 전체 게시글만큼 반복이 시작하는데 0번째일때 슬라이드 돌아갈 아이템의 div태그를 열어줍니다.
    if ($i === 0) echo '<div class="swiper-slide">';
    // 0번째 이후 반복부터 $i가 24의 배수가 되게 되면 swiper-slide태그를 닫고 다음 swiper-slide태그를 열어줍니다.
    else if ($i % 24 === 0) echo '</div><div class="swiper-slide>';
    ?>
    <!-- 썸네일 가져오는 코드들을 넣습니다. -->
    <li>....<li>
    <!-- 마지막 반복이 돌아가면 24배수의 마지막에서 열엇던 swiper-slide의 태그를 닫아줍니다. -->
    <?php if ($i === $list_count - 1) echo '</div>' ?>
  <?php } ?>
  <?php 
  if ($list_count == 0) echo '<div class="empty_li swiper-slide">게시물이 없습니다.</div>';
  ?>
  </div>
  <div class="swiper-button-next"></div>
  <div class="swiper-button-prev"></div>
</div>

그리고 반복이 돌때마다 최초 0번째 반복에 슬라이드아이템 태그를 열어주고 그 이후부터는 반복횟수가 24의 배수가 될때마다 0번째 반복 혹은 이전 24번째에서 열어줬던 슬라이드아이템태그를 닫아주고 새로 슬라이드아이템 태그를 열어줍니다. 그리고 반복될때마다 썸네일은 꾸준히 뿌려주시고 마지막 반복이 돌아갈때 이전 마지막 24배수에서 열어줬던 슬라이드아이템 태그를 닫아줍니다 

php서버가 지금 없어서 일단 같은 방식으로 자바스크립트로 구현한것입니다.
1935176322_1665035354.8721.png
답변을 작성하시기 전에 로그인 해주세요.
전체 2,343
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT