채택완료

최신글 썸네일 등록하기 소스좀 봐주세요

2019-05-08 (수) 11:49:21 2,875

안녕하세요. 

현재 진행상황이 첨부파일로만 이미지를 올렸을때는 썸네일이 등록이 되나,

외부 이미지나 유튜브는 최신글 썸네일이 뜨질 않습니다.

외부이미지는 https://sir.kr/g5_tip/2657 이 글 참고해서 data/file 에 잘 저장이 되는것을 확인하였습니다.

유튜브 소스는 https://sir.kr/g5_skin/15094?sca=%EC%B5%9C%EC%8B%A0%EA%B8%80&sfl=wr_subject%7C%7Cwr_content&stx=%EC%8D%B8%EB%84%A4%EC%9D%BC&page=2 이 글을 참고 했구요

latest.skin.php 의 현재 소스는

Copy
<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

include_once(G5_LIB_PATH.'/thumbnail.lib.php'); // 최신글에 썸네일 인클루드

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);

add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);

?>

 

<div class="lat">

<h2 class="lat_title"><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>"><?php echo $bo_subject ?></a></h2>

<ul>

<?php

for ($i=0; $i<count($list); $i++) {

$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], false, true);

 

if($thumb['ori']) {

$img = $thumb['ori'];

} else {

$img = G5_IMG_URL.'/no_img.png';

$thumb['alt'] = '이미지가 없습니다.';

}

$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';

?>

<li>

<?php

 

echo "<a href=\"".$list[$i]['href']."\"> ";

echo $img_content; // <-- 썸네일 출력문

if ($list[$i]['is_notice'])

echo "<strong>".$list[$i]['subject']."</strong>";

else

echo $list[$i]['subject'];



 

echo "</a>";


 

?>


 

</li>

<?php } ?>

<?php if (count($list) == 0) { //게시물이 없을 때 ?>

<li class="empty_li">게시물이 없습니다.</li>

<?php } ?>

</ul>

<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>" class="lt_more"><span class="sound_only"><?php echo $bo_subject ?></span><i class="fa fa-plus" aria-hidden="true"></i><span class="sound_only"> 더보기</span></a>

 

</div>

이거인데 첨부파일로 업로드 한것만 적용이 되는 상태이고

밑에는 제가 수정을 해본건데 콘솔에서 오류는 없는데 유튜브 썸네일만 생성이 되고 나머지는 이렇게 뜹니다.

2950632243_1557283698.3906.png

코드는 이렇습니다.

Copy
<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

include_once(G5_LIB_PATH.'/thumbnail.lib.php');

add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);

add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);

?>

 

<div class="lat">

<h2 class="lat_title"><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>"><?php echo $bo_subject ?></a></h2>

<ul>

<?php

if(count($list) >= 3){ $listscale = 1; }

    else{ $listscale = count($list); }

for ($i=0; $i<count($list); $i++) {

?>

<li>

<?php

echo "<a href=\"".$list[$i]['href']."\"> ";

if ($list[$i]['is_notice']){

echo "<strong>".$list[$i]['subject']."</strong>";

}elseif($thumb['ori']){

$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], false, true);

$img = $thumb['ori'];

$img_content = '<img src="'.$img.'" alt"'.$thumb['alt'].'" >';

echo $img_content;

echo $list[$i]['subject'];

}else{

$youtube_key = substr($list[$i]['wr_link1'],-11,11);

                $img_content = '<img src="https://img.youtube.com/vi/'.$youtube_key.'/mqdefault.jpg" alt="'.$thumb['alt'].'" width="205px" height="100px">';

                echo $img_content;

echo $list[$i]['subject'];

}

echo "</a>";

if ($list[$i]['comment_cnt']) echo "

<span class=\"lt_cmt\">+ ".$list[$i]['comment_cnt']."</span>";

?>

<span class="lt_date"><?php echo $list[$i]['datetime2'] ?></span>

</li>

<?php } ?>

<?php if (count($list) == 0) { //게시물이 없을 때 ?>

<li class="empty_li">게시물이 없습니다.</li>

<?php } ?>

</ul>

<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>" class="lt_more"><span class="sound_only"><?php echo $bo_subject ?></span><i class="fa fa-plus" aria-hidden="true"></i><span class="sound_only"> 더보기</span></a>

 

</div>

어떻게 수정해야 할지 피드백 부탁드립니다.

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
Copy
}elseif($thumb['ori']){
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], false, true);

$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], false, true); 가 

elseif($thumb['ori']){ 의 밑에 있기때문에 항상  $thumb['ori'] 값은 없습니다.

Copy
if($list[$i]['is_notice']){

}else{

 $thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], false, true);

 if($thumb['ori']){

  //썸네일있음

 }else{

 //썸네일 없음 . Youtube 임.

 }

}

위 방식처럼 해야합니다.

답변에 대한 댓글 1개

배운지 얼마 안되어서 이거만 붙잡고 몇일째 끙끙 댔는지.. 정말 감사합니다. 문법 공부좀 더 해야겠어요.
2019-05-08 (수) 13:08:18

등록하신 코드 21번 줄 }elseif($thumb['ori']){ 부분에서 else if 띄어쓰기 에러입니다.

다른 부분은 자세히 안봐서 잘 모르겠습니다 ^^;

답변에 대한 댓글 1개

띄어쓰기도 수정했지만 안됩니다

답변을 작성하려면 로그인이 필요합니다.