게시판 파일첨부를 가져올 때, 1~10 에 등록된 첨부이미지만 가져오는 방법

게시판 파일첨부를 가져올 때, 1~10 에 등록된 첨부이미지만 가져오는 방법

QA

게시판 파일첨부를 가져올 때, 1~10 에 등록된 첨부이미지만 가져오는 방법

답변 1

그누보드5(영카트) 버전

5.6.10

사용 PHP 버전

7.3

본문

그누보드5 로 상품 게시판을 만들어서 상품썸네일(1~10)과 본문에 출력될 슬라이드 이미지(11~20) 를 구분하려고 합니다.

 

게시판 설정에서 파일첨부를 20개로 늘려놓았고, 본문 바로 아래에 첨부된 이미지를 출력하는 곳을 상품썸네일(1~10)으로 사용하려고 수정을 했는데,


        <?php
        // 파일 출력
        /** 250417
         * 파일첨부 1~10 까지를 상품이미지로 쓰기 위해 $v_img_count 에 조건 추가
         * $view['file']['count'] 가 10 보다 크면 최대 10개까지만 
         * 250418 조건 수정
         * 1~10 까지 상품이미지 11~20 까지 슬라이드 이미지로 사용할 때,
         * 1~3 까지 상품이지, 11~15 까지 슬라이드 이미지를 첨부할 경우
         * $view['file']['count'] 는 10보다 작을 것이므로 1~3, 11~15 까지 모두 출력되는 이슈
        */
        $v_img_count = $view['file']['count'] > 10 ? 10 : $view['file']['count'];
        if($v_img_count) {
            echo "<div id=\"bo_v_img\" class=\"swiper\">\n";
            echo "<div class=\"swiper-wrapper\">\n";
            for( $i = 0; $i < $v_img_count; $i++ ) {
                if( $view['file'][$i]['view'] )
                    echo "<div class=\"swiper-slide\">".get_view_thumbnail($view['file'][$i]['view'])."</div>\n";
            }
            echo "</div>\n";
            echo "<div class=\"swiper-pagination\"></div>";
            echo "</div>\n";
        }
        ?>

막상 조건을 

$v_img_count = $view['file']['count'] > 10 ? 10 : $view['file']['count'];

이렇게 걸다보니 드는 생각이
1~10 사이에 이미지를 3개 등록, 11~20 사이에 이미지를 5개 등록 할 경우

$view['file']['count'] 가 10보다 작게 출력될 것으로 예상되고,
그럼 상품썸네일을 출력해야하는 곳에 11~20 사이에 등록된 이미지도 출력이 될 것 같은데요;;

 

파일첨부에 첨부된 이미지 중 1~10 / 11~20 을 구분할 수 있는 방법이 있을까요??

이 질문에 댓글 쓰기 :

답변 1

게시판 파일 첨부시 bf_no가 등록됩니다.

첨부파일1일 경우 bf_no =  0

첨부파일2일 경우 bf_no = 1
이런식으로 숫자값이 등록됩니다.

이걸 활용하시면 될것 같습니다.

common.lib.php 350번째 줄에 있는 get_file 함수에

 $file[$no]['bf_no'] = $row['bf_no'];

이 부분 추가하시면 됩니다.

답변 감사드립니다!
질문 올리고나서 바로 gpt 에다가도 물어봤는데,
코어 파일은 건드리지 않는 걸 추구하는데(그누보드가 업데이트 되어도 실제 사이트를 업데이트하진 않지만...)
알려주신 방법은 common.lib.php 파일을 건드려야하다보니
gpt 의 도움을 받아 해결되었습니다!ㅠ

view.skin.php 파일에서 강제로 변수에 썸네일 개수를 10으로 적용하고, for 문돌려서 $view['file'][$i]['view'] 를 출력하는 방식으로 해결했습니다
슬라이드 부분도 동일한 방식으로 순서만 변경해서 출력하게끔 만들었습니다!

다시 한번 답변 감사드립니다!

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 87
© SIRSOFT
현재 페이지 제일 처음으로