그누보드 5.3 유튜브 동영상 게시판 썸네일 최신글 수정 (PC용+모바일용) > 그누보드5 스킨

그누보드5 스킨

스킨 다운로드시 좋아요 클릭과 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

그누보드 5.3 유튜브 동영상 게시판 썸네일 최신글 수정 (PC용+모바일용) 정보

최신글 그누보드 5.3 유튜브 동영상 게시판 썸네일 최신글 수정 (PC용+모바일용)

첨부파일

첨부파일 basic_youtube.zip (2.5K) 173회 다운로드 2018-04-16 10:06:24 포인트 차감1
첨부파일 basic_youtube.zip (7.9K) 58회 다운로드 2018-04-16 10:06:24 포인트 차감1

본문

제가 올린 유튜브 동영상 게시판( https://sir.kr/g5_skin/20736 )과 연동되는 유튜브 동영상 썸네일 최신글입니다.

 

예전에 올린 스킨에서 수정한것이 있는데,

첨부파일로 이미지 업로드하면 유튜브 썸네일이 보여지지 않고 업로드한 이미지 썸네일이 보여지게끔 수정하였습니다.

 

따로 설정하실거 없이 모바일 스킨 latest폴더 안에 넣으시면 됩니다. 

그리고 인덱스 화면 원하시는 곳에 아래처럼 적으면 됩니다. 

PC용

<?php echo latest('theme/basic_youtube', '게시판테이블명', 5, 20); ?>  

모바일용

<?php echo latest('theme/basic_youtube', 'mov', 게시판테이블명, 17); ?>

순서는 스킨폴더명, 게시판아이디, 출력갯수, 글자수 자르기 입니다. 

저는 theme/basic/skin/latest/ 폴더안에 basic_youtube폴더를 넣었기에 
스킨폴더명 경로가 theme/basic_youtube가 되고 

루트/skin/latest/ 폴더안에 basic_youtube폴더를 넣는다면 
스킨폴더명 경로가 basic_youtube가 됩니다. 

저는 인덱스 하단에 아래와 같은 방법으로 첨부했습니다.  

 

PC용

====

<div class="latest_wr">

    <!--  최신글 { -->

    <?php echo latest('theme/basic_youtube', '게시판테이블명', 5, 20); ?>

    <!-- //최신글 끝 -->

</div>

 

모바일용

=======

<div class="latest_wr">

    <!--  최신글 -->

    <?php echo latest('theme/basic_youtube', '게시판테이블명', 4, 17); ?>

    <!-- //최신글 끝 -->

</div>

 

첨부파일 위에 있는게 PC용이고, 아래 있는게 모바일용입니다.

추천9

댓글 전체

제가 올린 최신글 스킨과 이전에 올린 유튜브 게시판 사용하셨는데,
메인화면에서 썸네일이 안보이신다는건가요?

제가 확인할 수 있는 홈페이지 주소와
모바일 인덱스페이지 소스를 알려주시면 확인해 볼 수 있습니다.
감사합니다.
갤러리 게시판에 적용해보았는데요.
PC에서는 잘 나오는데
모바일에서는 테마/인덱스 파일에 위 처럼 넣었더니
갤러리 개시판이 두번 나오는데요.
한번은 썸네일이 잘 나오고 한번은 그냥 일반 게시판처럼 제목만 나오는데요.
제목만 나오는 부분을 없애려면 어떻게 하나요?
제 테스트 홈페이지에는 전혀 문제가 없는지라
제가 눈으로 봐야 알수 있을거 같습니다.
제가 확인할 수 있는 홈페이지 주소와
모바일 인덱스페이지 소스를 알려주실수 있다면 제가 확인해 볼 수 있습니다.
해결하셨다니 다행이네요.
제가 질문을 잘 이해하지 못했었습니다.
아래 아더킹님 글 보고 문제가 뭐였는지 알았습니다.
그게 제 스킨의 문제도 아니었고,
전 애초에 그부분 직접 수정하고 있어서 생각을 못했었거든요.
위에 바노님....
처음에 저도 그랬었는데...
저기...모바일 index.php 파일에서요....

if(!$is_admin)
    $sql .= " and a.bo_use_cert = '' ";
$sql .= " and a.bo_table not in ('mov', 'gallery') ";    //동영상, 갤러리는 제외
$sql .= " order by b.gr_order, a.bo_order ";

윗부분...동영상, 갤러리는 제외라는 부분에, 게시판 테이블 명을 적어주면 출력안될 겁니다.
아마 맞을겁니다.

아 그리고....저 윗부분 소스 중에서
$sql .= " and a.bo_table not in ('mov', 'gallery') ";    //동영상, 갤러리는 제외

이 부분은 PC index.php 파일에서 복사해와서 저기 넣은 겁니다...^^
어떻게 하다보니 저렇게 넣으니까 되더군요. 오리지날 모바일 index.php 에는 저 항목이 없더군요.
제 스킨 사용하신건가요?
그러면 동영상 올리는 방법이 잘못된거 같습니다.
유튜브 주소 입력하는곳에
유튜브 동영상 주소창에 보여지는 주소만 입력하셔야 합니다.
https://www.youtube.com/watch?v=i0p1bmr0EmE
이런식으로요.
아~ 주소가 주소창에 있는걸로 해야되는군요 공유 클릭하고 나오는 주소가 아니고 -,-
좋은 스킨 잘 쓰겠습니다^^ ㅎㅎ 넘 감사해요
모바일 버전이 깨져서 pc버전으로 했는데 유튜브 링크 걸어도 썸네일이 안 나와요...
bx 슬라이더도 사진이 안 나와 보니 <?php if(1%$box_row == 1 && $options['first_img']){
이부분을 <?php if($num == 1 && $box_row == 1 && $options['first_img']){ 이렇게 고쳐서 했는데
유튜브는 도저히 못하겠음.....

유튜브 주소는 https://www.youtube.com/watch?v=i0p1bmr0EmE
이렇게 입력하고

<?php echo latest('theme/basic_youtube', 'free', 2, 15); ?>

이렇게 추출하는데 사진이 계속 안 나옴.....

소스....



<?php
include_once('./_common.php');

$g5['title'] = '커뮤니티';

include_once('./_head.php');

include_once(G5_THEME_PATH.'/head.sub.php');
include_once(G5_LIB_PATH.'/outlogin.lib.php');
include_once(G5_LIB_PATH.'/poll.lib.php');
include_once(G5_LIB_PATH.'/visit.lib.php');
include_once(G5_LIB_PATH.'/connect.lib.php');
include_once(G5_LIB_PATH.'/popular.lib.php');
include_once(G5_LIB_PATH.'/latest.lib.php');
?>

<div class="sub_Wrap">


<div class="club_wrap">
<?php echo latest('theme/basic_youtube', 'free', 2, 15); ?>

<?
$options1 = array('latest_title' => '볼링용품 리뷰', 'latest_name' => 'gallery', 'thumb_width' => 450, 'thumb_height' => 200, 'box_row' => 1, 'first_img' => 1, 'bxslider' => 0);
$options2 = array('latest_title' => '볼링 아카데미', 'latest_name' => 'gallery', 'thumb_width' => 450, 'thumb_height' => 200, 'box_row' => 1, 'first_img' => 0, 'bxslider' => 0);
$options3 = array('latest_title' => '볼링 기록실', 'latest_name' => 'gallery', 'thumb_width' => 450, 'thumb_height' => 200, 'box_row' => 1, 'first_img' => 0, 'bxslider' => 0);
$options3 = array('latest_title' => '자유게시판', 'latest_name' => 'gallery', 'thumb_width' => 450, 'thumb_height' => 200, 'box_row' => 1, 'first_img' => 0, 'bxslider' => 0);
?>


<?php echo latest('theme/basic_bxslider', 'gallery', 4, 20, 0, $options1);  ?>
<?php echo latest('theme/basic_bxslider', 'gallery', 4, 20, 0, $options2);  ?>
<?php echo latest('theme/basic_bxslider', 'gallery', 4, 20, 0, $options3);  ?>
<?php echo latest('theme/basic_bxslider', 'gallery', 4, 20, 0, $options3);  ?>

</div>
</div>
<!--
<?php if($is_member) {  ?>
<script>
$(document).ready(function(){
set_loc(); // 현재 위치. (2018-05-23 js)
});
</script>
<?php } ?>
-->
<?php
include_once('./_tail.php');
?>
latest 파일은 pc 버전으로 다운 받아서 했구요...

if ( ! function_exists( 'get_video_id' ) )
{
    function get_video_id( $str )
    {
        if( substr( $str, 0, 4 ) == 'http' )
        {
            if( strpos( $str, 'youtu.be' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else if( strpos( $str, '/embed/' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else if( strpos( $str, '/v/' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else
            {
                $params = explode( '&', array_shift( explode( '#', array_pop( explode( '?', $str ) ) ) ) );
                foreach( $params as $data )
                {
                    $arr = explode( '=', $data );
                    if( $arr[ 0 ] == 'v' )
                    {
                        return $arr[ 1 ];
                    }
                }
            }
        }
        else
        {
            return $str;
        }
        return '';
    }
}
 

위 부분이 의심???스럽긴 한데...url에 'youtu.be' 가 아닌 'youtube'이구요...

 return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/0.jpg'; 여기 소스에

https://www.youtube.com/watch?v=i0p1bmr0EmE <---------------------v 값 넣고 해보면 썸네일이 나오고...


주소
https://bowlingranking.com/sub/community.php

누가좀 봐주세요....
latest 원본

<?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);
$thumb_width = 148;
$thumb_height = 111;

/* 유투브 주소에서 Video ID를 추출합니다. */
if ( ! function_exists( 'get_video_id' ) )
{
    function get_video_id( $str )
    {
        if( substr( $str, 0, 4 ) == 'http' )
        {
            if( strpos( $str, 'youtu.be' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else if( strpos( $str, '/embed/' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else if( strpos( $str, '/v/' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else
            {
                $params = explode( '&', array_shift( explode( '#', array_pop( explode( '?', $str ) ) ) ) );
                foreach( $params as $data )
                {
                    $arr = explode( '=', $data );
                    if( $arr[ 0 ] == 'v' )
                    {
                        return $arr[ 1 ];
                    }
                }
            }
        }
        else
        {
            return $str;
        }
        return '';
    }
}
 
/* 썸네일 주소를 가져옵니다. */
if ( ! function_exists( 'get_yt_thumb' ) )
{
    function get_yt_thumb( $url_or_id, $type )
    {
        switch( $type )
        {
            case '0' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/0.jpg';
                break;
            case '1' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/1.jpg';
                break;
            case '2' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/2.jpg';
                break;
            case '3' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/3.jpg';
                break;
            case 'hq' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/hqdefault.jpg';
                break;
            case 'mq' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/mqdefault.jpg';
                break;
            case 'sd' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/sddefault.jpg';
                break;
            case 'maxres' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/maxresdefault.jpg';
                break;
            default :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/default.jpg';
        }
    }
}
?>

<div class="pic_lt">
    <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'], $thumb_width, $thumb_height, false, true);

    if($thumb['src']) {
        $img = $thumb['src'];
    } else {
        $img = G5_IMG_URL.'/no_img.png';
        $thumb['alt'] = '이미지가 없습니다.';
    }
    $img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
    ?>
        <li>
            <a href="<?php echo $list[$i]['href'] ?>" class="lt_img"><?php
                $v = "";
                $mov_link = "";
                $img_content = "";
                $mov_link = $list[$i]['wr_10'];
                $youtube_url = parse_url($mov_link);
                parse_str($youtube_url['query']);
                if($v){
                $img_content = '<img src="'.get_yt_thumb( 'http://youtu.be/'.$v, 'sd' ).'" alt="'.$list[$i]['subject'].'" width="'.$thumb_width.'" height="'.$thumb_height.'" />';
                }
               
                if(!$img_content) {
                $img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
                }                           
                $thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);

                if($thumb['src']) {
                    $img_content = '<span style="width:'.$thumb_width.'px;height:'.$thumb_height.'px"><img src="'.$img.'" alt="'.$thumb['alt'].'" ></span>';
                }
                   
                echo $img_content;
                ?></a>
소스 자체에는 문제 없어 보입니다.
제가 운영중인 모든 사이트들 다 정상작동하거든요.
/sub/community.php가 아닌, 메인 인덱스에 넣어도 이미지 안나오나요?
만약 메인에서 정상적으로 나온다면, 이건 서브페이지 설정의 문제인거 같아서요.
안녕하세요 최신글을 만드는 것까지는 성공했습니다~! 감사합니다. 근데
최신글에 2개가 뜨는데 하나를 어떻게 없앨 수 있나요?
전체 1,412 |RSS
그누보드5 스킨 내용 검색

회원로그인

진행중 포인트경매

  1. 그누보드/영카트 채팅솔루션

    참여30 회 시작18.12.11 09:03 종료18.12.16 09:03

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT