Tip & Tech

활용팁

홈 > 회원포럼 > 활용팁
활용팁

배너롤링 모든 최신글나올경우 이미지가 없는 게시물 제거하기

1 수호아빠 3 1083 4 0

아미나 . 미소테마 베이직스킨을 사용하고 있습니다. 

 

아미나는 처음 사용하느데 . 팁이 될만한지 모르겠네요 . 

작업을 하다가. 

 

위젯중/ 

/테마/미소/위젯/miso-board-banner 를 사용하는 부분에서 . 

 

최신글을 모두 보여주는데 . 

---------------------------------

// 글추출

$list = apms_board_rows($wset); 

-----------------------------------

를 사용하고 있습니다. 여기에서 . 이미지가 없는 최신 게시물도 임의의 이미지를 이용하여 보여주는데요 . 

이를 제거 하고 . 보여주기 위해  변경해보았습니다. 

 

1, /테마/미소/위젯/miso-board-banner​/widget.rows.php 파일에 . 

글추출 윗 부분에

---------

+ $wset['is_banner'] = 1;

 

// 글추출

$list = apms_board_rows($wset);

$list_cnt = count($list);

--------------------

추가 

 

2. ​/설치폴더/lib/apms.lib.php 파일의 

apms_board_rows 메소드에 . 아래와 같이 추가 하시면됩니다. 

 

for ($i=0; $row=sql_fetch_array($result); $i++) {

 

$tmp_write_table = $g5['write_prefix'] . $row['bo_table']; 

$post = sql_fetch(" select * from $tmp_write_table where wr_id = '{$row['wr_id']}' ", false);

 

+ ///// 추가 부분 yu1026 파일이 없으면 통과 

+ if ($arr['is_banner'] && $post['wr_file'] == 0) {

+ continue; 

+ }

+                 ///// 추가부분 끝. 

$post['img_row'] = $arr['img_rows'];

$list[$i] = thema_widget_write_list($mode, $row['bo_table'], $post, $new, $thumb_w, $thumb_h, false, true);

if($thumb_w) {

if(empty($list[$i]['img']) && $arr['no_img']) {

$list[$i]['img'] = apms_thumbnail($arr['no_img'], $thumb_w, $thumb_h, false, true); // no-image

}

}

}

 

....

...

 

 

///// return 값을 아래와 같이 재 배열

//////////배열 새로 생성 yu1026

-    return $list;

 

+ $nList = array();

+ foreach ($list as $val) {

+ $nList[] = $val;

+ }

+ return $nList;

 

 

----------------------------------------

위와 같이 하시면. 

이미지가 없는 내용물은 안보여지게 됩니다. 

다른 롤링 하는곳도 같이 이용하시면 됩니다. 

 

 

3 Comments
M 한별아빠 2015.05.05 02:52  
1. 먼저 // $wset['no_img'] = $widget_url.'/img/no-img.jpg'; 부분 주석처리 해서 이미지 없음 출력되지 않도록 하고...

2. 그리고 아래처럼 한 번 필터링 해 주시는 부분 넣어 주셔도 됩니다.
// 랭킹시작
$rank = ($wset['page'] > 1) ?  (($wset['page'] - 1) * $wset['rows'] + 1) : 1;

$tmp = array();
$k = 0;
for($i=0; $i < $list_cnt; $i++) {
	
	if(!$list[$i]['img']['src']) continue; //이미지 없으면 건너뜀

	$tmp[$k] = $list[$i];
	$k++;
}
$list = $tmp; // list로 전환
$lisc_cnt = count($list);
1 수호아빠 2015.05.06 22:03  
아 네. .. 적어 놓고 나서 . 위젯에서 필터도 가능할거 같다고 생각했네요 .
감사 합니다.
정말 좋은팁 감사합니다. 잘 배웠습니다. ^^
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand