읽기 포인트 사용한 글 list에서 확인방법

읽기 포인트 사용한 글 list에서 확인방법

QA

읽기 포인트 사용한 글 list에서 확인방법

그누보드5(영카트) 버전

5.4.8

본문

읽기포인트 사용해서 읽은 글을 포인트 내역말고 게시판 list에서 구분할 수 있는 방법이 있을까요?

이것저것 해보다 도저히 안나오네요ㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 3

포인트 내역에 게시판 id와 wr_id가 기록 되는데 이것을 이용하지않으려는 이유가 뭔가요?

포인트 테이블 외는 구분할 수 있는 방법이 없습니다

 

포인트 테이블에 내역이 너무 많이 쌓여서 사용하기 꺼려진다면 두가지 방법이 잇겠습니다

1. 회원 테이블 여분필드에 게시판 아이디와 wr_id를 기록해서 이용

2. 게시물 여분필드에 읽은 사람 아이디 누적해서 이용

 

리스트와 포인트 사용내역에 게시판아이디와 게시글번호를 기록해서 사용유무를 구분해서 리스트에서 사용유무 표기되도록 처리하시면 되실듯 합니다.

* [게시판 스킨 디렉토리]/list.skin.php

1) 상단에 코드 추가  (3 Line 부근)


// 읽은 글 미리 가져오기
$read_articles = array();
if ($is_member) {
    $current_list_ids = array();
    for ($i=0; $i<count($list); $i++) {
        $current_list_ids[] = $list[$i]['wr_id'];
    }
    
    if (count($current_list_ids) > 0) {
        $sql = " SELECT po_rel_id FROM {$g5['point_table']} 
                WHERE mb_id = '{$member['mb_id']}' 
                AND po_rel_table = '{$bo_table}' 
                AND po_rel_action = '읽기'
                AND po_rel_id IN (".implode(',', $current_list_ids).")";
        $result = sql_query($sql);
        while ($row = sql_fetch_array($result)) {
            $read_articles[$row['po_rel_id']] = true;
        }
    }
}

 

2) 제목 출력 부분 변경


<div class="bo_tit">
    <a href="<?php echo $list[$i]['href'] ?>">
        <?php echo $list[$i]['icon_reply'] ?>
        <?php
            if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);
         ?>
        <?php echo $list[$i]['subject'] ?>
    </a>


<div class="bo_tit">
    <?php
    // 읽은 글인지 확인
    $is_read = isset($read_articles[$list[$i]['wr_id']]) && $read_articles[$list[$i]['wr_id']];
    
    // 제목에 스타일 적용
    $subject = $list[$i]['subject'];
    if ($is_read) {
        $subject = "<span style='color:#888;'>".$subject."</span>";
    }
    ?>
    <a href="<?php echo $list[$i]['href'] ?>">
        <?php echo $list[$i]['icon_reply'] ?>
        <?php
            if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);
         ?>
        <?php echo $subject // 수정된 부분 ?>
        <?php if ($is_read) { ?><i class="fa fa-check" style="font-size:11px;color:#8BC34A;margin-left:3px;" title="읽은 글"></i><?php } ?>
    </a>
답변을 작성하시기 전에 로그인 해주세요.
전체 129,406 | RSS
QA 내용 검색

회원로그인

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