테스트 사이트 - 개발 중인 베타 버전입니다

상품 설명에 동영상 연결하기

· 5년 전 · 4477 · 12
영카트 쇼핑몰 상품설명에 동영상을 자동 노출하기 위해 만들었습니다.


1. 영카트5 / adm / shop_admin / itemform.php

페이지 상단 적당한 위치에 아래 코드를 추가합니다.
동영상 주소가 저장될 필드를 자동 생성하는 코드 입니다.

<?php
// 동영상 필드 추가
if(!sql_query(" select it_youtube from {$g5['g5_shop_item_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
ADD `it_youtube` varchar(255) NOT NULL ", true);
}
?>


페이지 중간 적당한 위치에 동영상 링크가 저장될 입력창을 추가합니다.

<tr>
<th scope="row">동영상</th>
<td colspan="2">
<input type="text" name="it_youtube" value="<?php echo $it['it_youtube']; ?>" class="frm_input" style="width:100%;"><br>
ex) https://youtu.be/yH2kyWlWOP4
</td>
</tr>


2. 영카트5 / adm / shop_admin / itemformupdate.php

it_10 = '$it_10'
";

를 아래와 같이 동영상 필드 저장 퀴리를 추가합니다.

it_10 = '$it_10',
it_youtube = '{$it_youtube}'
";


3. 영카트5 / lib / movie.lib.php 생성합니다.
본 강좌에는 유튜브에 대한 것을 정리하였습니다.

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 그외 다양한 동영상 매체 ( 카카오TV, tvpot, 네이버TV, vimeo, liveleak 등 )의 소스는 유료판매합니다.
// 구매가 필요한 분은 mail@happyjung.com 으로 문의주세요
//$movie_url = $view["wr_link1"]; // 동영상 링크

//$movie_url = "http://youtu.be/yH2kyWlWOP4";
if (!preg_match('/youtu.be/', $movie_url) == true) {
} else {
$movie_url0 = explode('/',$movie_url);
$movie_url3 = $movie_url0[3];
if ($movie_url3) { ?><div style="position:relative;height:0;padding-bottom:56.25%"><iframe src="https://www.youtube.com/embed/<?php echo $movie_url3; ?>?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen style="position:absolute;width:100%;height:100%;left:0"></iframe></div><?php }
$movie_true="yes";
}

//$movie_url = "https://www.youtube.com/watch?v=yH2kyWlWOP4";
if (!preg_match('/youtube.com/', $movie_url) == true) {
} else {
$movie_url0 = explode('?v=',$movie_url);

$movie_url3 = $movie_url0[1];
if ($movie_url3) { ?><div style="position:relative;height:0;padding-bottom:56.25%"><iframe src="https://www.youtube.com/embed/<?php echo $movie_url3; ?>?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen style="position:absolute;width:100%;height:100%;left:0"></iframe></div><?php }
$movie_true="yes";
}
?>


4. 영카트5 / skin / shop / basic / item.info.skin.php ... 테마 미사용시
영카트5 / theme / basic / skin / shop / basic / item.info.skin.php ... 테마사용시

<?php if ($it['it_basic']) { // 상품 기본설명 ?>
<h3>상품 기본설명</h3>
<div id="sit_inf_basic">
<?php echo $it['it_basic']; ?>
</div>
<?php } ?>

밑에 아래 내용을 추가합니다.
다른 위치에 노출을 원한다면 그곳에 아래 코드를 추가합니다.

<?php if ($it['it_youtube']) { // 동영상 보기 ?>
<h3>동영상 보기</h3>
<div>
<script type="text/javascript">
$(window).resize(function(){resizeYoutube();});
$(function(){resizeYoutube();});
function resizeYoutube(){ $("iframe").each(function(){ if( /^https?:\/\/www.youtube.com\/embed\//g.test($(this).attr("src")) ){ $(this).css("width","100%"); $(this).css("height",Math.ceil( parseInt($(this).css("width")) * 480 / 854 ) + "px");} }); }
</script>
<?php
$movie_url = $it['it_youtube']; // 동영상 링크
include G5_LIB_PATH."/movie.lib.php";
?>
</div>
<?php } ?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 12개

오.. 좋은 기능 공유 감사합니다~!
댓글 감사합니다.
유용한 팁 감사합니다.^^
필요해서 만들었고, 그것을 나누는 기쁨이죠 ^^
5년 전
수고하셨습니다. 공유 감사합니다.
오 해피정님 팁 감사합니다.
g5_shop_item_table 테이블이 없는 경우에는 어떻게 하죠??
@폴코이 g5_shop_item_table 없으면 영카트가 작동 안할텐데요
물론 g5_ 가 아닌 다른 문자 예를 들면 yc5_ 로 되어 있는 경우도 있겠네요
이렇게 앞 글자가 다른 경우를 대비해서 $g5['g5_shop_item_table'] 를 활용하는 것입니다
@해피정 제가 영카트 솔루션은 처음이라서요.. 테이블 리스트나 명세서 부분을 잘 몰랐었는데.. 요 몇일동안 명세서 fields comment 를 하나하나씩 업데이트 하면서 조금 익숙해지고 해피정님 댓글을 보니, 테이블 이름이 g5_shop_item 이었네요... 영카트 소스파일에서는 g5_shop_item 테이블을 $g5['g5_shop_item_table'] 이런 이름으로 접근을 하나봅니다. 맞나요??
@폴코이 맞습니다

게시글 목록

번호 제목
1634
1632
1631
1630
1629
1625
1608
1595
1578
1571
1567
1561
1560
1558
1555
1554
1553
1552
1551
1547
1538
1531
1527
1523
1522
1512
1511
1506
1503
1489