리스트에서 유튜브 팝업 플레이 관련 문제입니다.

리스트에서 유튜브 팝업 플레이 관련 문제입니다.

QA

리스트에서 유튜브 팝업 플레이 관련 문제입니다.

본문

증상은 관리자로 로그인시 정상적으로 팝업창이 작동하여 유튜브 영상이 실행되구요.

비회원인 상태에서 클릭시 해당 유튜브 주소로 이동해서 영상이 실행됩니다.

(게시판 권한은 글쓰기,답변,댓글,업로드 권한만 10입니다.)

 

2시간 가까이 소스를 뒤져봐도 왜 그런지 이해가 되지 않습니다.

혹시 의심해볼만한 방법이 있는지 고수분들의 고견을 여쭙습니다.

 

사용한 테마 : https://sir.kr/g5_theme/4395

참고한 스킨 : https://sir.kr/g5_skin/13115

 

문제가 발생된 페이지 : http://msfloor.cafe24.com/bbs/board.php?bo_table=movie

 

사용 스킨의 리스트 파일중 일부입니다.

 

상단에 css와 js파일을 불러왔습니다.


add_stylesheet('<link rel="stylesheet" href="'.G5_THEME_CSS_URL.'/magnific-popup.css">', 0);
add_javascript('<script src="'.G5_THEME_JS_URL.'/jquery.magnific-popup.min.js"></script>', 0);

 

그리고 유튜브 주소를 이용해서 썸네일을 추출했습니다.


<ul id="gall_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_THEME_IMG_URL.'/noimage.png';
        $thumb['alt'] = '이미지가 없습니다.';
    }
    $img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
    ?>
        <li class="gall_li">
            <a href="<?php echo ($is_admin ? $list[$i]['href'] : $list[$i]['wr_link1']); ?>" class="gall_img <?php echo ($is_admin ? '' : 'popup-youtube'); ?>"> // 여기서 팝업 플레이 스크립트를 호출합니다.
            <?php
            // 썸네일. (유투브 코드로 썸네일처리)
            $thumbsrc = '';
            $youtube_key = substr($list[$i]['wr_link1'],-11,11);
            $thumbsrc = 'https://img.youtube.com/vi/'.$youtube_key.'/mqdefault.jpg'; // 썸네일을 추출하고
            if($thumbsrc) {
                $img_content = '<img src="'.$board_skin_url.'/img/youtube.png" style="position:absolute; width:30px; margin:15px 20px;"><img src="'.$thumbsrc.'" alt="'.$list[$i]['subject'].'" width="'.$thumb_width.'" height="'.$thumb_height.'">'; // 썸네일을 불러올때 동영상 아이콘을 absolute로 함께 불러옵니다.
            } else {
                $img_content = '<span style="width:'.$thumb_width.'px;height:'.$thumb_height.'px">no image</span>';
            }
            echo $img_content;        
            ?>
            </a>

 

그리고 하단에 해당 JQuery 관련 스크립트를 추가했습니다.


<script>
<!--
$(document).ready(function() {
    $('.popup-youtube').magnificPopup({
        //disableOn: 700,
        type: 'iframe',
        mainClass: 'mfp-fade',
        removalDelay: 160,
        preloader: false,
        fixedContentPos: false
    });
});
//-->
</script>

 

 

이 질문에 댓글 쓰기 :

답변 2

admin 에 접속이 안되서 확인이 어렵습니다.

  <a href="<?php echo ($is_admin ? $list[$i]['href'] : $list[$i]['wr_link1']); ?>" class="gall_img <?php echo ($is_admin ? '' : 'popup-youtube'); ?>"// 여기서 팝업 플레이 스크립트를 호출합니다. 

아마 이부분 차이아닐까 싶습니다. 

저도 처음에 권한 관련 문제인가 싶어서 해당 부분을


<a href="<?php echo $list[$i]['href']; ?>" class="gall_img"> // 스크립트에서 호출되는 클래스도 동일하게 수정

이렇게 수정해봤는데 마찬가지였습니다.

늦은 시간에 관심 가져주셔서 고맙습니다.
제가 매우 단순하고 바보같은 실수를 했었네요.
간단하게 해결했습니다.

호출 스크립트를


<?php if ($is_checkbox) { ?> // 리스트 정리 권한이 있는 관리자 영역 ㅠㅠ


여기 아래에 넣어버려서 관리자만 정상적으로 팝업 플레이가 되는 증상이었습니다.

kakao lemontree4050으로 친추주시면 한번 보겠습니다. 

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

회원로그인

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