[추가수정및 기능추가]...다양한기능의 썸네일갤러리, 최신글이미지스킨 > 그누4 스킨

그누4 스킨

스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y
그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.

[추가수정및 기능추가]...다양한기능의 썸네일갤러리, 최신글이미지스킨 정보

갤러리 [추가수정및 기능추가]...다양한기능의 썸네일갤러리, 최신글이미지스킨

첨부파일

배포용스킨_수정.zip (80.8K) 899회 다운로드 2006-04-02 21:17:48

본문

[개요] [적용버젼 : 4.06.18].
---------------------------------------------------------------------------------------------------------
★★ [참고] 앞서 아래 스킨을 다운받으신 분들은 그냥 덮어씌우시면 됩니다.
단, 슬라이드기능은 빠졌습니다.
---------------------------------------------------------------------------------------------------------
★★ 2006.4.1자로 추가수정이 되었습니다.
---------------------------------------------------------------------------------------------------------

[기존스킨] http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=10721


GD 라이브러리를 사용하는...
'썸네일 생성 이미지게시판'과 '이미지 최신글' 묶음 입니다.

갤러리스킨과 최신글 이미지스킨이 따로 노는경우가 많아서 서로 붙였다가
심심찮게 문제가 발생하는걸 많이 지켜봐서리..함께 움직이게끔 만들어 봤습니다.

그리고 추가된 기능으로써,
기존에 새창을 띄워주는 갤러리스킨하나, 뷰화면으로 들어가는 스킨하나를
각각 별도로 만들어서 각각의 게시판에 적용하던 번거로움과
리스트화면에서 이미지클릭시, 새창보기는 되는데 화면보다 이미지가 큰경우
이미지가 잘리는 현상이 있어 불편하던차에, '팁란'에 올라온 'zzzz님'의
스크립터에 힌트를 얻어서 그대로 적용하여 이모든걸 해결하게 되었습니다.


앞서 올린스킨에 몇가지기능을 추가하여 재배포합니다.
따라서 만약 기존의 제가 올린스킨을 그대로 사용중이시라면 그대로 덮어씌우시면 됩니다.
단, '슬라이드기능'을 사용중이시라면 제외.


사용중인 호스팅들이 다른 용도로 이미 모두 사용중이라서 아쉽게도 미리보기및 테스트사이트는 없습니다.
죄송~~~~

★★ 본스킨은 해당게시판의 여유필드2, 여유필드10을 사용하므로 참고하세요.




[특징]
-----------------------------------------------------------------------
- 리스트화면의 썸네일이미지 크기조절기능.
  게시판상단에 표시되는 '썸네일'조절 기능을 통하여, 게시판에 뿌려지는 썸네일이미지의 크기를
  화면에서 바로 조정가능하며 그에 따라서 본인의 게시판의 폭에 맞춰 자유롭게 설정가능합니다.
  (관리자로그인해야 해당 버튼이 보입니다. 별도의 게시판설정 불필요)
  단, 반드시...스킨업로드후, 폴더내 'thumb_size.txt' 퍼미션을 반드시 '707'로 설정

- 슬라이드쇼기능 삭제 (앞서 스킨에 있었던 기능삭제)

- 여러개의 이미지 등록시, view.skin.php 화면에서 한줄당 뿌려주는 이미지의 갯수를
  자유롭게 설정하여 보여주실수 있습니다. (파일등록시 설정)

- '이미지 최신글'사용시, '갤러리게시판'의 경로를 설정해주기만 하면
  자동으로 이미지의 사이즈를 조정해서 화면에 출력해주며, 한줄당 출력갯수를 설정가능 (latest.skin.php)


[추가기능]
------------------------------------------------------------------------
- 한 개시물에 등록된 이미지수가 두개이상인 경우, 리스트화면에서 '이미지수'를 진하게표시.
- 리스트화면에서 새창으로 이미지를 볼때, 화면보다 큰 이미지의 경우 '화면이동'가능.
- 리스트화면에서 이미지및 제목글 클릭시, 새창띄우기기능 추가및 설정잠금기능.
  게시판환경설정의 여유필드10에다가 숫자 1,2,3 중 하나를 선택하여 입력하시면
  해당설정에 맞게 리스트화면에서 이미지보기형식을 관리할수 있습니다.
  '1'로 설정 -> 이미지,제목클릭시 뷰화면으로이동
  '2'로 설정 -> 이미지클릭시, 새창으로 보여줌 / 제목글 클릭시, 뷰화면으로 이동
  '3'로 설정 --> 이미지,제목클릭시 모두 새창으로 이미지 보여줌(첫번째 이미지)

  하나의 스킨으로 여러 갤러리 형태의 게시판 운용시 적절히 응용하면 유용~



[설치방법]
-----------------------------------------------------------------------
압축을 해제하시면 세개의 폴더가 보입니다. 각각 경로에 맞게 업로드하세요.

1. gallery_thumb    갤러리스킨      (/skin/board 폴더내에 위치)
2. la_picture_thumb  최신글이미지스킨 (/skin/latest 폴더내에 위치)
3. Thumb_Engine      최신글이미지설정 (그누보드안에 위치시키세요. /gnuboard4/Thumb_Engine)

위, Thumb_Engine 와 la_picture_thumb 와는 상호 연동됩니다.



[사용방법 - 각 폴더별 설치및 설정]
-----------------------------------------------------------------------
1. gallery_thumb      갤러리스킨      (/skin/board 폴더내에 위치)

  스킨폴더에 스킨을 업로드하시고, 게시판환경설정에서 위 스킨명으로 선택하세요.
  그런다음, '여유필드10'에 1, 2, 3중의 숫자를 선택 입력해주세요. (위 참고)

  ★★ 스킨설치후, 폴더내의 'thumb_size.txt' 퍼미션을 반드시 '707'로 설정해주세요.
  썸네일파일은 해당 게시판의 data/file/게시판폴더에 원본이미지와 함께 생성&저장됩니다.
  원본삭제시, 썸네일도 함께 삭제됩니다.


2. Thumb_Engine      최신글썸네일폴더(그누보드안에 위치시키세요. /gnuboard4/Thumb_Engine)
 
  최신이미지를 뿌려주는데 필요한 썸네일설정 파일이 들어있는 폴더입니다.
  최신글 스킨(la_picture_thumb)을 사용할 경우, 함께 사용해야 합니다.
  갤러리스킨명을 임의로 바꾸거나 할경우, 폴더내 'Thumb_latest_Engine01.php' 파일내에
  라인 6번줄.... '$board_skin_path = "$g4[path]/skin/board/gallery_thumb";'의 경로를 수정하세요.
 
3. la_picture_thumb  최신글스킨      (/skin/latest 폴더내에 위치)
 
  아래 Thumb_Engine의 경로를 맞춰주세요. 간혹, gnu보드의 경로가 다를수가 있으므로
  파일을 열어서, 17번라인의 Thumb_Engine 경로를 자신에게 맞도록 설정해주세요.

  위, Thumb_Engine 와 la_picture_thumb 와는 상호 연동됩니다.
  갤러리만 설치하실경우는 Thumb_Engine 와 la_picture_thumb 폴더는 필요없습니다.
 
  ★ 별도의 썸네일을 추가 생성하는게 아니라, 기존 '갤러리게시판(gallery_thumb)의 썸네일을
  자동으로 크기를조정해서 뿌려주는 방식입니다. ★



[작업후기]
------------------------------------------------------------------------
게시판 관리자 입장에서 몇가지 아쉬운 부분이 있는데...
게시물에 등록되어있는 게시물의 이미지들이 용량이 큰 경우,
'썸네일'조정및 '선택삭제'시 로딩시간이 좀 오래걸립니다.

위와 관련해서는 아래 링크를 참고해주세요. (일반 사용자는 상관없습니다. 관리자입장에서의 문제)
http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=16457


- 이미지크기(1600픽셀이상)에 상관없이 업로드 됩니다만,
  GD기능을 지원해주는것과 별도로 가끔 본인의 해당계정이 설치되어있는 호스팅에서
  memory_limit 값설정과 관련해서 대용량 이미지가 뿌려지지 않는 경우가 발생하므로
  "그누보드-질문과답변란"을 참고하셔서 해결하세요.


- 리스트(list.skin.php)파일을 몇개 별도로 만들어 응용하시면 보다 더 유용하게
  사용하실수 있을겁니다. 고민해보세요.~

- 자유롭게 사용하시고, 수정및배포는 반드시 그누보드 사이트안에서만 허용합니다.
  (뷰화면이미지갯수조정기능, 썸네일조절기능, 최신글(이미지)연동기능, 리스트화면의 새창이미지이동기능...)
추천
2

댓글 전체

list.skin.php에서  174라인쪽에.. </td><tr><td> 태그가 빠져있어 지금 수정되었습니다.
사용에는 문제는 없어보이나 혹시나해서 list.skin.php파일만 수정후 재업했습니다. 참고.
2006.04.01자 수정본이 업데이트 되었습니다. 이미 다운받으신 분들은 덮어씌우시면 됩니다.

[문제점]
갤러리스킨및 최신글에서 gif, bmp가 제대로 보여지지 않던 문제

[수정및해결]
갤러리스킨 -> gif, bmp 파일모두 정상적으로 보여줍니다.
최신글스킨 -> gif 파일정상적으로 보여주며, bmp파일의 경우는 '노이미지'를 뿌려줍니다.
(bmp파일의 경우 GD함수가 지원되지 않네요..)

새로 덮어씌우시는 경우, 'thumb_size.txt' 의 퍼미션이 '707'인지를 확인하세요.
리스트화면에서 새창을 띄울경우 (2번,3번옵션), 새창에 이미지가 제대로 나타나지 않는 문제가 있습니다.
스크립터에서 원본사이즈의 값을 제대로 반영해주질 못하는 문제인거 같은데 정확한 해결점은 현재로써는 없으며,
임시방편으로 아래의 방법을 사용하시길 바랍니다.

단점 : 화면보다 큰이미지인경우, 마우스를 이용한 화면이동이 안됩니다.



1. image_window.js 파일을 아래 코드로 대체하십시요.
----------------------------------------------------------------------------

function image_window2(imageURL){
<!--
imageHandle=open("","popupForImage","toolbar=no,location=no,status=no,manubar=no,scrollbars=no,resizable=yes,width=100,height=100,top=0,left=0");
  imageHandle.document.write("<title>  </title>");
  imageHandle.document.write("<style>");
  imageHandle.document.write("*{margin:0;padding:0;border:0;}");
  imageHandle.document.write("</style>");
  imageHandle.document.write("<img src=\""+imageURL+"\" onload=\"window.resizeTo(this.width,this.height);\" onclick=\"self.close();\" style=\"cursor:hand;\" title=\"클릭하면 닫힙니다.\">");
-->
}





2. list.skin.php  144~158라인쪽의 코드를 아래 코드로 대체하십시요.
-----------------------------------------------------------------------------------------------

//---- 이미지 새창보기 여부 설정
if($board[bo_10] == '1') {
$view_img  = "<a href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
}
if($board[bo_10] == '2') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img  = "<a href=\"javascript:;\" OnClick=\"image_window2('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\" >";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
}
if($board[bo_10] == '3') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img  = "<a href=\"javascript:;\" OnClick=\"image_window2('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\" >";
$view_href  ="<a href=\"javascript:;\" OnClick=\"popupImage('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\" >";
}
1*1사이즈로 뜨는 오류..

list.skin.php
for구문에
list($widthy[$i], $heighty[$i], $type[$i], $attr[$i]) = getImagesize($ori);
추가하시구요.
링크부분에 위의 사이즈함수를 아래와 같이 추가해주면 자바에서 사이즈를 제대로 인식합니다.
$view_img  = "<a href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image', $widthy[$i], $heighty[$i])\" onFocus=\"this.blur();\">";

그럼 좋은 하루 되세요
사용중에 좀 거시기 한게 있어서 수정했습니다.
1. 게시물을 수정할때 첫번째 이미지를 삭제하면 thumbnail이 no image로 나오는 현상.
2. 게시물을 수정할때 이미지를 몇개 삭제하면 list.skin.php에서 남은 이미지수가 나와야 하는데,
    원래 게시했던 이미지수가 변하지 않고 그대로 나오는 현상.
수정내용은 아래와 같습니다.
list.skin.php 와 latest.skin.php 에서 include_once를 찾아서 그 바로 아랫줄에 아래 코드를 추가합니다.
$img_cnt = array() ;
for ($k=0,$img_num=0; $k<$list[$i][file][count]; $k++) {
        if($list[$i][file][$k][file]) { //break;
                $img_cnt[$img_num]=$list[$i][file][$k][file] ;
                $img_num ++;
        }
}
$max_img_cnt = count($img_cnt);
$image = $img_cnt[0];

그리고, 기존에 있던 아래 줄은 주석으로 처리해줍니다.
$image = $list[$i][file][0][file];  <-- 요놈을 주석 처리.

마지막으로, list.skin.php 에서 "이미지수" 라는 것을 찾아서 그 다음에 나오는 $file_cnt 를
$max_img_cnt 로 바꿔줍니다.

일단 이렇게해서 제가 원하는대로 사용해보겠습니다. 고맙습니다. *^^*
1. gallery_thumb      갤러리스킨      (/skin/board 폴더내에 위치)

  스킨폴더에 스킨을 업로드하시고, 게시판환경설정에서 위 스킨명으로 선택하세요.
  그런다음, '여유필드10'에 1, 2, 3중의 숫자를 선택 입력해주세요. (위 참고)

요거에 관해서 url 설정 잘못하셨네요
[list_skin.php] 중에
//---- 이미지 새창보기 여부 설정
if($board[bo_10] == '1') {
$view_img  = "<a href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
}
if($board[bo_10] == '2') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img  = "<a href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
}
if($board[bo_10] == '3') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img  = "<a href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";
$view_href  = "<a class='bl' href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";
}

해당 url 에 &page=$page 를 안하면 게시물 클릭해서 들어갔을때, 밑에 리스트 나오는 형식에서는 무조건 1페이지가 나오게 됩니다

//---- 이미지 새창보기 여부 설정
if($board[bo_10] == '1') {
$view_img  = "<a href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}&page=$page'>";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}&page=$page'>";
}
if($board[bo_10] == '2') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img  = "<a href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}&page=$page'>";
}
if($board[bo_10] == '3') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img  = "<a href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";
$view_href  = "<a class='bl' href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";
}

이렇게 하면 되겠군요. 뭐 1번밖에 안해봤습니다만 ㅡ _-
전체 5,850 |RSS
그누4 스킨 내용 검색

회원로그인

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