BOARD

팁·활용

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 3회 작성일 26-10-11 15:11

본문

그누보드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 파일 내의 이미지 반환 코드를 수정해야 합니다.

수정 위치 및 방법

  1. 파일 경로: /lib/common.lib.php (약 949줄 부근)
  2. 원본 코드:
    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'>";
  3. 수정 코드 (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 관련 로직 수정

선택 기준 및 다음 행동

  1. 백업 필수: 수정 전 대상 파일(/lib/common.lib.php, /bbs/view.php, /extend/b4.lib.php)을 반드시 별도 저장하십시오.
  2. 코드 적용: 위 경로에서 onclick='image_window(this);' 또는 관련 preg_replace 코드를 찾아 삭제하거나 //로 주석 처리합니다.
  3. 결과 확인: 수정 후 게시판 페이지를 새로고침하여 이미지 클릭 시 팝업이 차단되었는지 확인합니다.

Q. 수정 후에도 팝업이 계속 뜹니다.

  • 원인: /extend/b4.lib.php 파일에 팝업을 강제하는 로직이 우선 적용되고 있을 수 있습니다. 해당 파일 내 if ($board[image_window]) 조건문 블록을 확인하여 불필요한 onclick 부여 코드를 삭제하십시오.

Q. 특정 게시판만 팝업을 막고 싶습니다.

  • 대안: 위 파일 수정은 전역 설정입니다. 특정 게시판만 제어하려면 view.skin.php에서 해당 게시판의 bo_table 값을 조건문으로 걸어 onclick 속성을 동적으로 제어하는 로직을 추가해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.