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

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

QA

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

본문

안녕하세요. 

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

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

외부이미지는 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 의 현재 소스는


<?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

 

 

 

 

코드는 이렇습니다.


<?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



}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'] 값은 없습니다.

 


if($list[$i]['is_notice']){
}else{
 $thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], false, true);
 if($thumb['ori']){
  //썸네일있음
 }else{
 //썸네일 없음 . Youtube 임.
 }
}

 

위 방식처럼 해야합니다.

 

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

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

 

답변을 작성하시기 전에 로그인 해주세요.
전체 953
QA 내용 검색

회원로그인

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