BOARD

강좌·기초

그누보드 게시판 코멘트(댓글) 영역에 회원 프로필 이미지 출력하기

페이지 정보

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

본문

그누보드 게시판 코멘트(댓글) 영역에 회원 프로필 이미지 출력하기

그누보드 운영자와 개발자가 게시판 댓글 목록 페이지(view_comment.skin.php)를 수정하여 회원이 가입 시 등록한 프로필 이미지를 출력하는 방법과 예외 처리 방법을 안내합니다.

게시판 코멘트(댓글) 영역에 회원 프로필 이미지 출력하기

그누보드 basic 스킨을 기준으로 게시판 댓글 목록 영역인 skin/board/basic/view_comment.skin.php 파일을 수정하여 회원이 등록한 프로필 이미지를 출력할 수 있습니다. 회원 고유 ID(mb_id)를 기반으로 이미지 저장 경로를 확인하고, 등록된 이미지가 없으면 기본 이미지를 출력하는 방식을 사용합니다.

1. 수정 파일 위치

  • skin/board/basic/view_comment.skin.php

2. 코드 수정 방법

그누보드 5.3 이상 버전에서는 내장 함수를 사용하는 것이 권장됩니다. view_comment.skin.php 파일 내 코멘트 출력 루프 안에서 아래 코드를 추가하십시오.

<td valign="top" align="left" width="58">
 <?php echo get_member_profile_img($list[$i]['mb_id']);?>
</td>

그누보드 4 등 구버전에서 직접 경로를 지정해야 하는 경우, 아래와 같이 작성할 수 있습니다.

<td valign="top" align="left" width="58">
<?php 
$mb1_dir = substr($list[$i]['mb_id'], 0, 2);
$mb_1 = "{$g4['path']}/data/member_image/{$mb1_dir}/{$list[$i]['mb_id']}.gif";
if (!$list[$i]['mb_id'] ||!file_exists($mb_1)) {
 echo "<img src='{$g4['path']}/img/member_noimg.gif'>";
} else {
 echo "<img src='{$mb_1}'>";
}
?>
</td>

3. 주의사항 및 확인 사항

  • 회원 이미지 저장 경로(/data/member_image/) 및 버전별 상수 체계($g4[path] 등)는 사용하는 그누보드 버전(G4 및 G5) 환경에 따라 다를 수 있으므로 서버 내 실제 경로와 변수 설정을 확인해야 합니다.
  • 파일 수정 전 원본 skin/board/basic/view_comment.skin.php 파일을 백업하는 것을 권장합니다.

코멘트 회원 프로필 이미지 출력 시 기본 이미지 처리

그누보드 게시판 코멘트(댓글) 영역에 회원이 프로필 이미지를 등록하지 않았거나 비회원 상태인 경우, 이미지 깨짐이나 오류를 방지하기 위해 기본 대체 이미지를 출력하도록 조건문(if 문)을 구성할 수 있습니다.

확인 및 출력 조건

  1. 회원 아이디 및 파일 존재 여부 확인: file_exists 함수를 통해 data/member_image/ 경로에 해당 회원의 아이디로 된 이미지 파일이 실제로 존재하는지 확인합니다.
  2. 조건에 따른 출력 분기:
    • 회원이 아니거나 이미지 파일이 없는 경우: $list[$i][mb_id] 값이 없거나 file_exists 검사 결과가 거짓(false)일 때, 기본 대체 이미지 파일인 member_noimg.gif를 출력합니다.
    • 이미지가 존재하는 경우: 조건이 참(true)일 경우 해당 회원의 프로필 이미지 경로($mb_1)를 출력합니다.

적용 코드 예시

그누보드 5.3 이상을 사용 중이라면 별도의 조건문 없이 내장 함수를 호출하는 것으로 충분합니다.

<?php echo get_member_profile_img($list[$i]['mb_id']);?>

내장 함수를 사용할 수 없는 환경(G4 등)에서는 아래와 같이 파일 존재 여부를 확인하여 기본 이미지를 출력합니다.

<?php 
$mb1_dir = substr($list[$i]['mb_id'], 0, 2);
$mb_1 = "{$g4['path']}/data/member_image/{$mb1_dir}/{$list[$i]['mb_id']}.gif"; 
if (!$list[$i]['mb_id'] ||!file_exists($mb_1)) { 
 echo "<img src='{$g4['path']}/img/member_noimg.gif'>"; 
} else { 
 echo "<img src='{$mb_1}'>"; 
} 
?>

그누보드 게시판 코멘트(댓글) 영역에 회원 프로필 이미지를 출력하려면, 사용하는 그누보드 버전에 따라 접근 방식이 다릅니다.

1. 그누보드 5.3 이상 버전

그누보드 5.3부터는 회원 프로필 이미지 출력 기능이 내장되어 있습니다. view_comment.skin.php 파일 내 댓글 출력 루프 안에서 아래 함수를 사용하여 간편하게 출력할 수 있습니다.

  • 코드 예시: <?php echo get_member_profile_img($list[$i]['mb_id']);?>
  • 참고: 해당 함수는 lib/common.lib.php에 정의되어 있으며, 회원 아이디만 있으면 어디서든 호출 가능합니다.

2. 그누보드 4 또는 이전 버전

내장 함수가 없는 경우, 직접 파일 경로를 지정하여 이미지를 불러와야 합니다. 일반적으로 data/member_image/ 또는 data/member/ 경로에 저장된 파일을 확인합니다.

  • 수정 파일: skin/board/basic/view_comment.skin.php
  • 적용 로직: 회원 아이디의 앞 2글자를 추출하여 해당 폴더 내에 이미지 파일(예:.gif,.jpg)이 존재하는지 file_exists()로 확인한 후 출력합니다.
  • 주의사항: 서버 환경에 따라 이미지 저장 경로가 다를 수 있으므로, 실제 서버 내 data 폴더 구조를 먼저 확인해야 합니다.

3. 확인 및 주의사항

  • 백업 필수: 스킨 파일을 수정하기 전 반드시 원본 파일을 백업하십시오.
  • 이미지 경로: 버전별로 data/member_image/와 data/member/ 등 경로가 다를 수 있으므로, 본인의 설치 환경에 맞는 경로를 사용해야 합니다.

상황별 가이드

  • 내 상황: 그누보드 게시판 코멘트(댓글) 영역에 회원이 가입 시 등록한 프로필 이미지를 출력하고자 함
  • 선택 기준: 사용 중인 그누보드 버전에 따라 방식 결정 (그누보드4 및 구버전은 파일 경로 직접 체크 방식 적용, 그누보드 5.3 이상은 내장 함수 활용 가능)
  • 다음 행동: skin/board/basic/view_comment.skin.php 파일을 백업한 뒤, 해당 코멘트 출력 영역에 이미지 경로 확인 및 출력 코드를 추가하고 정상 노출 여부 검증

실전 FAQ

  • Q. 회원이 이미지를 등록하지 않았거나 비회원일 때 이미지가 깨져 나옵니다. 어떻게 처리하나요?
    • 대안: file_exists() 함수와 조건문을 사용하여 data/member_image/ 폴더에 해당 회원의 이미지 파일이 존재하는지 확인하고, 파일이 없거나 비회원인 경우 기본 대체 이미지(member_noimg.gif)를 출력하도록 설정합니다.
  • Q. 그누보드5 최신 버전에서도 위와 동일한 코드를 그대로 사용해도 되나요?
    • 예외 및 대안: 그누보드 5.3 이상 버전에서는 get_member_profile_img($list[$i]['mb_id']) 함수를 지원하므로, 직접 경로를 조합하는 코드 대신 해당 함수를 코멘트 출력 루프 내에 적용하는 것이 더 안전합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.