그누보드 뷰 페이지 스크랩 상태 표시 방법
페이지 정보

본문
그누보드 뷰 페이지 스크랩 상태 표시 방법
그누보드 5.3 버전의 게시판 상세 보기 페이지(view.skin.php)에서 사용자가 이미 스크랩한 게시글인지 여부를 확인하여 '스크랩' 또는 '스크랩완료' 문구를 다르게 표시하는 방법을 안내합니다.
그누보드 뷰 페이지 스크랩 상태 표시 방법
그누보드 게시판 뷰 페이지(view.skin.php)에서 회원이 해당 게시물을 스크랩했는지 여부를 확인하여 '스크랩' 또는 '스크랩완료' 문구를 다르게 표시하려면 다음 코드를 적용합니다.
1. 스크랩 여부 SQL 쿼리 추가
view.skin.php 파일 내 스크랩 버튼 출력부 상단에 회원 ID, 게시판 테이블, 글 ID를 조건으로 스크랩 테이블($g5['scrap_table'])을 조회하는 쿼리를 추가합니다.
<?php
$scrap_sql = " select count(*) as cnt from {$g5['scrap_table']} where mb_id = '{$member['mb_id']}' and bo_table = '$bo_table' and wr_id = '{$view['wr_id']}' ";
$scrap_row = sql_fetch($scrap_sql);
?>
2. 스크랩 버튼 출력 문구 변경
기존 스크랩 버튼 출력 코드 부근에 삼항 연산자를 적용하여, 스크랩 여부($scrap_row['cnt'])에 따라 문구가 변경되도록 수정합니다.
<a href="<?php echo $scrap_href;?>" target="_blank" onclick="win_scrap(this.href); return false;">
<?php echo ($scrap_row['cnt'])? "스크랩완료": "스크랩";?>
</a>
- 참고: 위 코드는 로그인한 회원의 스크랩 내역을 기준으로 판별하며, 스킨의 구조에 따라 클래스명 등은 기존 설정을 유지하여 적용하시기 바랍니다.
뷰 페이지 스크랩 상태 표시를 위한 PHP 삼항 연산자 적용 방법
그누보드 뷰 페이지(view.skin.php)에서 SQL 쿼리로 조회한 스크랩 여부 값(cnt)에 따라 버튼 문구를 동적으로 변경하려면, 스크랩 버튼 출력 부근의 텍스트 영역에 아래와 같은 PHP 삼항 연산자 코드를 적용합니다.
적용 코드 예시
그누보드 5.3 원본 스킨 기준으로 스크랩 글자 출력 부분을 다음과 같이 수정합니다.
<?php echo ($scrap_row['cnt'])? "스크랩완료": "스크랩";?>
상세 적용 위치 및 확인 사항
- 상단 쿼리 선언 선행: 위 삼항 연산자가 정상적으로 작동하려면
view.skin.php파일 상단에 회원 ID, 게시판 테이블, 글 ID를 조건으로 스크랩 테이블($g5['scrap_table'])을 조회하여$scrap_row배열을 반환하는 SQL 쿼리가 먼저 추가되어 있어야 합니다. - 버튼 출력부 확인:
<?php if ($scrap_href) {?>조건문 내부의 기존 '스크랩' 텍스트 위치에 삼항 연산자를 삽입하여cnt값의 유무(0 또는 1 이상)에 따라 '스크랩완료' 또는 '스크랩' 문구가 다르게 출력되도록 구성합니다.
상황별 판단 및 행동 가이드
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
| 로그인한 회원이 특정 게시물의 스크랩 여부를 뷰 페이지에서 바로 확인하고 싶을 때 | 스크랩 테이블($g5['scrap_table']) 조회 쿼리 추가 필요 여부 검토 | view.skin.php 상단에 회원 ID와 글 ID를 조건으로 하는 SQL 쿼리를 추가하고 출력부에 삼항 연산자 적용 |
실전 FAQ
Q. 비회원이 뷰 페이지에 접근할 때 스크랩 쿼리가 실행되면 오류가 발생하지 않나요?
- 예외 및 대안:
$is_member또는 로그인된 회원 정보($member['mb_id'])가 존재하는지 먼저 체크하는 조건문으로 쿼리 영역을 감싸면 비회원 접근 시 발생하는 불필요한 SQL 조회 오류를 예방할 수 있습니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 게시판 목록 및 전체 최신글에 에디터 이미지 첨부 아이콘 표시하기 26.10.28
- 다음글그누보드 관리자가 아닌 특정 회원 레벨에게 공지글 등록 권한 부여 방법 26.10.27
댓글목록
등록된 댓글이 없습니다.