갤러리 게시판 내 첨부 파일을 분리하여 출력하기
질문 게시판 내
https://sir.kr/qa/542681
첨부 파일이 여러개 일 때 맨 처음만 보이고
그 이외에는 하단에 작은 썸네일로 출력한 다음 클릭 시 상단의 이미지가 변경되는 방법입니다.
아래 움짤 확인하세요

사용하시는 게시판 스킨 / view.skin 파일을 열어 아래 코드를 찾아주세요
[code]
<?php
// 파일 출력
$v_img_count = count($view['file']);
if($v_img_count) {
echo "<div id=\"bo_v_img\">\n";
foreach($view['file'] as $view_file) {
echo get_file_thumbnail($view_file);
}
echo "</div>\n";
}
?>
[/code]
이 코드를 아래 처럼 수정(그냥 변경하세요 싹)해주세요
[code]
<?php
echo "<div id='main-image' style='width: 500px; height: 500px;'>";
// 첫 번째 이미지 크게 출력
$v_img_count = count($view['file']);
if($v_img_count) {
echo get_view_thumbnail($view['file'][0]['view'], 500);
}
echo "</div>";
// 추가 이미지 원본 출력
if ($v_img_count > 1) {
echo "<div id='thumbnail-container' style='display: flex; gap: 10px; margin-top: 10px;'>";
for ($i = 0; $i < min($v_img_count - 1, 6); $i++) { // 최대 5개의 원본 이미지 표시
echo "<div class='thumbnail' style='width: 100px; height: 100px; overflow: hidden;'>";
// 썸네일 생성을 위해 get_file_thumbnail 함수 사용
$thumb = $view['file'][$i]['view'];
preg_match('/src="([^"]+)"/', $thumb, $matches);
$image_url = isset($matches[1]) ? $matches[1] : '';
// 이미지 주소만 추출
if ($image_url) {
echo "<img src='" . $image_url . "' data-full='" . $image_url . "' style='width: 100%; height: 100%; object-fit: cover; cursor: pointer;' />";
}
echo "</div>\n";
}
echo "</div>\n";
}
?>
<script>
document.querySelectorAll('#thumbnail-container .thumbnail img').forEach(function(thumb) {
thumb.addEventListener('click', function() {
// 메인 이미지를 클릭된 썸네일의 큰 이미지로 변경
document.getElementById('main-image').innerHTML = "<img src='" + this.getAttribute('data-full') + "' style='width: 100%; height: 100%; object-fit: cover;' />";
});
});
</script>
[/code]
고맙습니다.
댓글 7개
좋은 자료 감사합니다.^^
감사 합니다. 에디터 이미지도 되네요..
감사합니다
감사합니다
감사합니다.
중앙으로 정렬 시키려면 어떻게 해야 할 까요?
align-items: center; 넣어 줘도 움직이지 않아서요.
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4429 | ||
| 2664 |
선택과집중
|
4개월 전 | 575 | |
| 2663 |
|
4개월 전 | 626 | |
| 2662 |
|
4개월 전 | 582 | |
| 2661 |
선택과집중
|
4개월 전 | 512 | |
| 2660 | 4개월 전 | 588 | ||
| 2659 |
Modify
|
4개월 전 | 654 | |
| 2658 |
선택과집중
|
4개월 전 | 416 | |
| 2657 | 4개월 전 | 452 | ||
| 2656 |
|
5개월 전 | 965 | |
| 2655 |
선택과집중
|
5개월 전 | 549 | |
| 2654 | 5개월 전 | 405 | ||
| 2653 |
선택과집중
|
5개월 전 | 591 | |
| 2652 | 5개월 전 | 399 | ||
| 2651 | 5개월 전 | 447 | ||
| 2650 |
선택과집중
|
5개월 전 | 328 | |
| 2649 |
선택과집중
|
5개월 전 | 427 | |
| 2648 | 5개월 전 | 442 | ||
| 2647 |
welcome
|
5개월 전 | 545 | |
| 2646 |
디지털홍익인간
|
5개월 전 | 453 | |
| 2645 | 5개월 전 | 469 | ||
| 2644 |
선택과집중
|
5개월 전 | 515 | |
| 2643 | 5개월 전 | 461 | ||
| 2642 | 5개월 전 | 373 | ||
| 2641 | 5개월 전 | 361 | ||
| 2640 | 5개월 전 | 394 | ||
| 2639 | 5개월 전 | 1364 | ||
| 2638 |
|
5개월 전 | 517 | |
| 2637 |
세르반데스
|
6개월 전 | 402 | |
| 2636 |
선택과집중
|
6개월 전 | 572 | |
| 2635 |
선택과집중
|
6개월 전 | 687 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기