게시판 연동 최신글 영상 또는 파일(이미지) 조건부 노출

게시판 연동 최신글 영상 또는 파일(이미지) 조건부 노출

QA

게시판 연동 최신글 영상 또는 파일(이미지) 조건부 노출

답변 1

본문

안녕하세요

 

게시판 '링크 1' 필드에 유튜브 ID를 넣으면 메인에 영상을 출력해주는 최신글 스킨을 사용중입니다.

 

여기에 링크 1이 비어있고 첨부파일(이미지만 등록)이 있을 경우 메인에 해당 첨부파일을 노출시키는 기능을 추가하고 싶습니다.

 

그리 어려운 작업은 아닌 것 같은데 비슷한 사례를 찾아보고 하려고 해도 잘 안되네요..ㅠㅠ

 

코드는 하기와 같습니다.

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<div class="lt_gal" style="position:relative;width:100%">
    
    <section>
        <?php if (count($list) !== 0) { // 동영상이 있을 때  ?>
            
            <!-- <strong class="lt_title"><a href="<?php // echo G5_BBS_URL; ?>/board.php?bo_table=<?php echo $bo_table; ?>&me_code=<?php // echo $me_code?>"><?php // echo $bo_subject; ?></a></strong> -->
            <?php for ($i = 0; $i < count($list); $i++) {
                $link1_id = $list[$i]['wr_link1'];
            ?>
            <div id="player"></div>
            <script src="https://www.youtube.com/iframe_api"></script><!-- 아래 원문에서 복잡하게 기술되었던 부분 -->
            <script>
            var player;
            function onYouTubeIframeAPIReady(){
                player = new YT.Player('player',{
                    width:'100%',
                    height: '300px',
                    videoId:'<?php echo $link1_id; ?>',
                    playerVars:{'autoplay':1,'playsinline':1,'controls':0,'rel':0,'loop':1,'mute':1},
                    events:{ 'onReady':onPlayerReady }
                });
            }
            function onPlayerReady(e){
                e.target.mute();
                e.target.playVideo();
            }
            </script>
            <div class="col-md-8">
                <div class="youtube">
                    <!-- <iframe style="background:#000;color:#fff" src="https://www.youtube.com/embed/<?php echo $link1_id; ?>?rel=0&controls=0&showinfo=0&autoplay=1&loop=1" frameborder="0" border=0 scrolling=no allowfullscreen></iframe> -->
                    <iframe style="background:#000;color:#fff" src="https://www.youtube.com/embed/<?php echo $link1_id; ?>?controls=0&showinfo=0&rel=0&autoplay=1&loop=1&mute=1&playlist=<?php echo $link1_id; ?>" allowfullscreen frameborder="0"></iframe>
                    <!-- <div style="position:absolute; top:84%; left:0px; width:100%; height:20px; padding:0; margin:0; background:url(<?php echo $latest_skin_url ?>/back.png); font-color:#fff; color:#fff" ><a href="<?php echo $list[$i]['href'] ?>" style="color:#fff; font-size:15px; ">
                        <span style="padding:5px 0 0 5px;">
                        <?php // echo cut_str($list[$i]['subject'], 30, "..") ?>
                        </span></a>
                    </div> -->
                </div>
            </div>
            <?php }  ?>
        <?php }  ?>
        
        <?php if (count($list) == 0) { //동영상이 없을 때 ?>
            <li>동영상이 없습니다.</li>
        <? }  ?>
        <!-- <div class="lt_more"><a href="<?php // echo G5_BBS_URL ?>/board.php?bo_table=<?php // echo $bo_table ?>&me_code=<?php // echo $me_code?>"><span class="sound_only"><?php // echo $bo_subject ?></span>더보기</a></div> -->
        <div class="hide1"></div>
        <div class="hide2"></div>
    </section>
    
</div>
<style>
.col-md-12,.col-md-8 {
    position:relative;
    min-height:1px;
    padding-right:0px;
    padding-left:0px
}
.youtube { position: relative; width: 100%; padding-bottom: 56%; }
.youtube iframe { position: absolute; width: 100%; height: 100%; }
.hide1, .hide2 {position:absolute;left:0;width:100%;height:60px;background-color:#000;z-index:9}
.hide1 {top:0}
.hide2 {bottom:0}
@media (min-width:992px) {
    .col-md-4 {
        float:left
    }
    .col-md-12 {
        width:100%
    }
    .col-md-4 {
        width:33.33333333%
    }
}
@media (max-width:640px) {
    .col-md-8 {display:none}
    #player {position:relative}
    .hide1 {height:55px}
    .hide2 {height:40px}
}
@media (min-width:640px) {
    #player {display:none}
}
</style>

 

중간에

 

<div id="player"></div>

...

 

부분은 모바일 자동재생 문제로 어쩔 수 없이 추가했습니다.

 

section으로 묶인 부분을 영상 노출 부분으로 생각하시면 될 것 같습니다.

 

우선 순위는 영상이 먼저입니다.

 

링크가 있으면 무조건 영상 노출,

링크, 첨부파일 있으면 링크 노출,

링크가 없고 첨부파일만 있을 때 첨부파일 노출

 

이렇게 정리 할 수 있겠습니다.

 

도움 부탁드립니다...

 

감사합니다.

이 질문에 댓글 쓰기 :

답변 1

            <?php for ($i = 0; $i < count($list); $i++) {
                $link1_id = $list[$i]['wr_link1'];
            ?>
            [영상 노출 코드]

->

            <?php for ($i = 0; $i < count($list); $i++) {
                $link1_id = $list[$i]['wr_link1'];
            ?>
            <?php if ($link1_id) { ?>
            [영상 노출 코드]
            <?php } else if ($list[$i]['file'][0]['file']) { ?>
            [이미지 노출 코드]
            <?php } ?>

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 954
© SIRSOFT
현재 페이지 제일 처음으로