이미지가 없는 글은 최신목록에 안나오게하려면 어떻게 해야하나요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
이미지가 없는 글은 최신목록에 안나오게하려면 어떻게 해야하나요?

QA

이미지가 없는 글은 최신목록에 안나오게하려면 어떻게 해야하나요?

본문

완전 초보가 조금씩 검색하면서 홈페이지를 고치고 있는데요.

이미지가 없는 글 즉, 썸네일이 없는 글을 메인 최신목록에 안나오게 하고 싶습니다.

어떻게 하는지 자세히좀 알려주세요... 그누보드 5입니다.

 

이 질문에 댓글 쓰기 :

답변 2

테스트 해보지는 못했습니다. 

 

/www/bbs/write_update.php 에서 이미지 여부를 체크하신 담에  

여분 필드 wr_1~10중에 적당한 필드에 이미지 여부 값을 넣은 담에

 
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
$thumb = get_list_thumbnail($bo_table, $wr_id, $board['bo_gallery_width'], $board['bo_gallery_height']);
if($thumb[src]){
    $wr_1 = 'Y';
}else{
    $wr_1 = 'N';
}
sql_query("UPDATE {$write_table} SET wr_1 = '{$wr_1}' WHERE wr_id = '' ");

if ($file_upload_msg)
    alert($file_upload_msg, G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr);
else
    goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr);

 

 

 

/www/lib/latest.lib.php 에서  

and wr_1 = 'Y' 으로 이미지 있는 것만 불러오시면 됩니다.

 

function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=1, $options='')
{
    global $g5;
    //static $css = array();

    if (!$skin_dir) $skin_dir = 'basic';

    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 wr_1 = 'Y' 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);
        }
    }

    /*
    // 같은 스킨은 .css 를 한번만 호출한다.
    if (!in_array($skin_dir, $css) && is_file($latest_skin_path.'/style.css')) {
        echo '<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">';
        $css[] = $skin_dir;
    }
    */

    ob_start();
    include $latest_skin_path.'/latest.skin.php';
    $content = ob_get_contents();
    ob_end_clean();

    return $content;

 

 


$sql = "SELECT * FROM ".$tmp_write_table." AS a LEFT JOIN g5_board_file AS b ON a.wr_id = b.wr_id WHERE a.wr_is_comment = 0 AND b.bo_table = '".$bo_table."' AND b.bf_width > 0 ORDER BY wr_num LIMIT 0, ".$rows;

 

lib 디렉토리에 있는 latest.lib.php 파일을 여신 후에 49번째 줄에 있는 $sql을 위처럼 수정하셔도 될 것 같아요.

order by 앞에 b.bf_width > 0 이게 없으면 첨부 파일이 있으면 무조건 다 뜨게 되거든요.

그래서 이미지를 첨부했을 경우에 너비를 해당 칼럼에 입력하니까 저게 0보다 큰 경우는 이미지라 판단하고 저렇게 넣었네요. 

$sql = "SELECT * FROM ".$tmp_write_table." AS a LEFT JOIN g5_board_file AS b ON a.wr_id = b.wr_id WHERE a.wr_is_comment = 0 AND b.bo_table = '".$bo_table."' AND b.bf_width > 0 GROUP BY b.wr_id ORDER BY wr_num LIMIT 0, ".$rows;
지적 감사합니다.
중복으로 나오는 건 group by로 처리가 돼요.
근데 에디터로 집어 넣는 이미지의 경우는 따로 처리하셔야겠네요. ㅎ

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

회원로그인

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