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

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

QA

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

답변 2

본문

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

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

(게시판 권한은 글쓰기,답변,댓글,업로드 권한만 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
© SIRSOFT
현재 페이지 제일 처음으로