그누보드4 첨부 이미지 클릭 시 팝업 동작 제어 방법
페이지 정보

본문
그누보드4 첨부 이미지 클릭 시 팝업 동작 제어 방법
그누보드4
그누보드4(G4) 환경에서 게시판 첨부파일 이미지나 에디터로 등록된 이미지를 클릭했을 때 새창으로 뜨는 방식을 제어하고, 썸네일과 팝업 동작 관련 소스코드를 수정하는 방법을 살펴봅니다.
그누보드4 첨부 이미지 클릭 시 팝업 동작 제어 방법
그누보드4(G4) 환경에서 게시판 첨부 이미지나 에디터로 업로드한 이미지 클릭 시 새창으로 뜨는 기본 팝업 동작을 제어하려면 관련 라이브러리 및 뷰 파일의 소스 코드를 수정해야 합니다.
1. 확장 파일 내 팝업 제어 코드 수정
- 수정 위치:
/extend/b4.lib.php - 내용: 이미지 팝업 및
width,height,name제어와 관련된 코드를 환경에 맞게 수정하거나 불필요한image_window관련onclick코드를 삭제하여 제어합니다.
2. 공통 라이브러리 파일 수정
- 수정 위치:
/lib/common.lib.php - 내용: 첨부 이미지를 반환하는 함수 내에서
onclick='image_window(this);'구문을 제거하여 기본 팝업 동작을 막을 수 있습니다.- 원본 예시:
return "<img src='$g4[path]/data/file/$board[bo_table]/".urlencode($file)."' name='target_resize_image[]' onclick='image_window(this);' style='cursor:pointer;' title='$content'>"; - 수정 예시:
return "<img src='$g4[path]/data/file/$board[bo_table]/".urlencode($file)."' name='target_resize_image[]' style='cursor:pointer;' title='$content'>";
- 원본 예시:
3. 에디터 첨부 이미지 새창 뜨기 제어
- 수정 위치:
/bbs/view.php - 내용: 에디터 영역의 내용 중 이미지 출력부의
onclick='image_window(this)'코드를 주석 처리하거나 변경합니다.- 수정 예시:
//$view[content] = preg_replace("/(\<img )([^\>]*)(\>)/i", "\\1 name='target_resize_image[]' onclick='image_window(this)' style='cursor:pointer;' \\2 \\3", $view[content]);
- 수정 예시:
그누보드4 lib/common.lib.php 파일의 첨부 이미지 출력 코드 수정 방법
그누보드4(G4) 환경에서 첨부 이미지 출력 시 적용되는 팝업 및 onclick 이벤트를 제어하려면 /lib/common.lib.php 파일 내의 이미지 반환 코드를 수정해야 합니다.
수정 위치 및 방법
- 파일 경로:
/lib/common.lib.php(약 949줄 부근) - 원본 코드:
return "<img src='$g4[path]/data/file/$board[bo_table]/".urlencode($file)."' name='target_resize_image[]' onclick='image_window(this);' style='cursor:pointer;' title='$content'>"; - 수정 코드 (
onclick='image_window(this);'부분 제거):return "<img src='$g4[path]/data/file/$board[bo_table]/".urlencode($file)."' name='target_resize_image[]' style='cursor:pointer;' title='$content'>";
다음 행동 및 주의사항
- 파일을 수정하기 전에 원본 파일을 반드시 백업하시기 바랍니다.
- 위와 같이
onclick속성을 제거하면 이미지 클릭 시 기본으로 실행되던 팝업 스크립트 동작을 막을 수 있습니다.
그누보드4 에디터 첨부 이미지 새창 뜨기 제어 방법
그누보드4(G4) 환경에서 에디터로 첨부한 이미지 클릭 시 자동으로 새창(팝업)이 뜨는 동작을 제어하려면 /bbs/view.php 파일을 수정하여 관련 코드를 변경하거나 주석 처리할 수 있습니다.
1. 수정 위치 확인
- 대상 파일:
/bbs/view.php(약 124줄 주변) - 원인: 에디터 영역을 통해 출력되는 내용 중 이미지 태그에
onclick='image_window(this)'속성이 자동으로 추가되어 클릭 시 팝업이 실행되도록 하드코딩되어 있습니다.
2. 소스 코드 수정 방법
파일 내에서 해당 코드를 찾아 아래와 같이 주석 처리(//)하여 기능을 비활성화할 수 있습니다.
- 원인 코드
$view[content] = preg_replace("/(\<img )([^\>]*)(\>)/i", "\\1 name='target_resize_image[]' onclick='image_window(this)' style='cursor:pointer;' \\2 \\3", $view[content]); - 수정(주석 처리) 코드
//$view[content] = preg_replace("/(\<img )([^\>]*)(\>)/i", "\\1 name='target_resize_image[]' onclick='image_window(this)' style='cursor:pointer;' \\2 \\3", $view[content]);
3. 다음 행동 및 주의사항
- 코드를 수정하기 전 반드시 원본
/bbs/view.php파일을 백업하세요. - 본문 에디터 이미지가 아닌 일반 첨부파일의 팝업 동작을 제어하려면
/extend/b4.lib.php또는/lib/common.lib.php파일의 관련 설정을 별도로 확인해야 합니다.
상황별 제어 경로
- 일반 첨부 이미지:
/lib/common.lib.php내onclick속성 제거 - 에디터 본문 이미지:
/bbs/view.php내preg_replace구문 주석 처리 - 팝업 크기 및 상세 설정:
/extend/b4.lib.php내image_window관련 로직 수정
선택 기준 및 다음 행동
- 백업 필수: 수정 전 대상 파일(
/lib/common.lib.php,/bbs/view.php,/extend/b4.lib.php)을 반드시 별도 저장하십시오. - 코드 적용: 위 경로에서
onclick='image_window(this);'또는 관련preg_replace코드를 찾아 삭제하거나//로 주석 처리합니다. - 결과 확인: 수정 후 게시판 페이지를 새로고침하여 이미지 클릭 시 팝업이 차단되었는지 확인합니다.
Q. 수정 후에도 팝업이 계속 뜹니다.
- 원인:
/extend/b4.lib.php파일에 팝업을 강제하는 로직이 우선 적용되고 있을 수 있습니다. 해당 파일 내if ($board[image_window])조건문 블록을 확인하여 불필요한onclick부여 코드를 삭제하십시오.
Q. 특정 게시판만 팝업을 막고 싶습니다.
- 대안: 위 파일 수정은 전역 설정입니다. 특정 게시판만 제어하려면
view.skin.php에서 해당 게시판의bo_table값을 조건문으로 걸어onclick속성을 동적으로 제어하는 로직을 추가해야 합니다.
함께 보면 좋은 글
- 그누보드 스마트에디터 및 썸네일 이미지 title 및 alt 속성 제어 방법
- 그누보드 본문 이미지 클릭 시 원본 이미지 새창 열림 방지 설정 방법
- 그누보드 첨부 이미지 썸네일 alt 태그에 글 제목 자동 삽입하기
참고자료
기타 참고자료
- 이전글그누보드4 최신글 영역에 미니달력 행사일정 스킨 출력하기 26.10.11
- 다음글그누보드 회원가입 시 약관 및 개인정보처리방침 동의 단계 생략 방법 26.10.11
댓글목록
등록된 댓글이 없습니다.