최근게시물 카테고리별 출력 질문입니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
최근게시물 카테고리별 출력 질문입니다.

QA

최근게시물 카테고리별 출력 질문입니다.

본문

사용중인 최신 게시물은 작은별님의 웹진스타일 최근게시물입니다

 http://gnustudy.com/bbs/board.php?bo_table=gnu_pds&wr_id=12

=====================================================================

 

카테고리별로 최근게시물을 따로 나타내고 싶어서 검색을 해보니...

 

http://sir.kr/qa/123269 와 같은 글이 있어서,

 

그 글을 보고 latest.lib.php 에 내용을 추가했습니다. 

 

배경카테고리의 최신글을 뽑으려고

 

<?php echo latest2("web_noimage", "gallery", 5, 23,'','',배경); ?>

 

..해봐도 그냥 전체글에서 뽑아오고 있습니다.

 

무엇이 잘못된 걸까요??


 

<Angelos님의 latest.lib.php 추가 팁 내용>


function latest2($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=1, $options='',$sca){
{
    global $g5;
    if (!$skin_dir) $skin_dir = 'basic';
    if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
        if (G5_IS_MOBILE) {
            $latest_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
            if(!is_dir($latest_skin_path))
                $latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
            $latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
        } else {
            $latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
            $latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
        }
        $skin_dir = $match[1];
    } else {
        if(G5_IS_MOBILE) {
            $latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
            $latest_skin_url  = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
        } else {
            $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
            $latest_skin_url  = G5_SKIN_URL.'/latest/'.$skin_dir;
        }
    }
    $cache_fwrite = false;
    if(G5_USE_CACHE) {
        $cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-{$skin_dir}-{$rows}-{$subject_len}.php";
        if(!file_exists($cache_file)) {
            $cache_fwrite = true;
        } else {
            if($cache_time > 0) {
                $filetime = filemtime($cache_file);
                if($filetime && $filetime < (G5_SERVER_TIME - 3600 * $cache_time)) {
                    @unlink($cache_file);
                    $cache_fwrite = true;
                }
            }
            if(!$cache_fwrite)
                include($cache_file);
        }
    }
    if(!G5_USE_CACHE || $cache_fwrite) {
        $list = array();
        $sql = " select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";
        $board = sql_fetch($sql);
        $bo_subject = get_text($board['bo_subject']);
        $tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
        $sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and ca_name = '$sca' order by wr_num limit 0, {$rows} ";
        $result = sql_query($sql);
        for ($i=0; $row = sql_fetch_array($result); $i++) {
            $list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);
        }
        if($cache_fwrite) {
            $handle = fopen($cache_file, 'w');
            $cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject='".$bo_subject."';\n\$list=".var_export($list, true)."?>";
            fwrite($handle, $cache_content);
            fclose($handle);
        }
    }
    ob_start();
    include $latest_skin_path.'/latest.skin.php';
    $content = ob_get_contents();
    ob_end_clean();
    return $content;
}
}

 

 

 

이 질문에 댓글 쓰기 :

답변 2

따옴표 빠지면 에러날건데요. 당연히 따옴표는 넣어줘야 합니다.

그리고 아마도 캐쉬타임때문에 적용이 안 된 것 같은데요, 게시글 하나만 작성해 보시면 알 듯 합니다.

그리고 캐쉬파일명을 아래처럼 변경하는게 좋을 듯 합니다.


$cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-{$sca}-{$skin_dir}-{$rows}-{$subject_len}.php"; 

$cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-{$sca}-{$skin_dir}-{$rows}-{$subject_len}.php";

로 바꾸고 나니 잘 작동됩니다!!!! 감사합니다 그림자 밟기님!!!


따옴표는 넣는 것이 맞네요. $cache_file 를 수정하니까 에러나더군요

<?php echo latest2("web_noimage", "gallery", 5, 23,'','',배경); ?> 

 

==> <?php echo latest2('web_noimage', 'gallery', 5, 23,'','','배경'); ?>

 

배경에 따옴표가 빠져있네요

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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