왕초보 swapImg ->PHP 구현 잘몰라 @@질문드립니다.꾸뻑 ^^
본문
아래는 영카트5 skin\shop\basic 중 main.10.skin.php 중 sns링크 부분 입니다.
if ($this->view_sns) {
$sns_top = $this->img_height + 10;
$sns_url = G5_SHOP_URL.'/item.php?it_id='.$row['it_id'];
$sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']);
echo "<div class=\"sct_sns\" style=\"top:{$sns_top}px\">";
echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_fb_s_bw.png');
echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_twt_s_bw.png');
echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_goo_s_bw.png');
echo "</div>\n";
제가 html에서 자바스크립트 사용해서
<script type="text/javascript">
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
그리고
<a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image26','','<?php echo G5_URL; ?>/sam_img/flat_p.gif', 1)">
<img src="<?php echo G5_URL; ?>/sam_img/flat_g.gif" width="106" height="18" alt="flats" name="Image26" border="0" id="Image26" /></td>
이런식으로 다른 페이지에선 사용하고 있는데.
SNS 이곳도 수정해 보고 싶은데 PHP로 되있어서 ㅠㅠ
땜빵처럼 잘 모르고 어영부영 쓰고 있는데 문제가 발생했는데..
어떻게 php에서 자바 선언하고
if ($this->view_sns) {
$sns_top = $this->img_height + 10;
$sns_url = G5_SHOP_URL.'/item.php?it_id='.$row['it_id'];
$sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']);
echo "<div class=\"sct_sns\" style=\"top:{$sns_top}px\">";
echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_fb_s_bw.png');
echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_twt_s_bw.png');
echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_goo_s_bw.png');
echo "</div>\n";
이곳을 손대야 할지 모르겠습니다.
제가 하고 싶은 작업은 커서 가져가면 sns 이미지를 바뀌게 하려고 겁니다.
고수님들 한수 가르켜 주시면 감사합니다.
답변 2
/lib/shop.lib.php 파일에서 get_sns_share_link 함수 수정하면 됩니다.
하지만 아직 베타버전이기 때문에 업데이트를 고려해서
아래코드를 /extend/get_sns.lib.php 파일을 만들어서 추가하거나 해당 파일(sns링크가 들어가 있는 파일) 상단 쪽에 따로 추가하는게 더 좋을 듯 합니다.
1. 함수 변경해서 추가
// sns 공유하기 over_img 추가 get_sns_share_link => get_sns_share_link2
function get_sns_share_link2($sns, $url, $title, $img, $over_img)
{
if(!$sns)
return '';
switch($sns) {
case 'facebook':
$str = '<a href="https://www.facebook.com/sharer/sharer.php?u='.urlencode($url).'&t='.urlencode($title).'" class="share-facebook" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="페이스북에 공유"></a>';
break;
case 'twitter':
$str = '<a href="https://twitter.com/share?url='.urlencode($url).'&text='.urlencode($title).'" class="share-twitter" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="트위터에 공유"></a>';
break;
case 'googleplus':
$str = '<a href="https://plus.google.com/share?url='.urlencode($url).'" class="share-googleplus" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="구글플러스에 공유"></a>';
break;
case 'kakaotalk':
$str = '<a href="'.G5_MSHOP_URL.'/kakaolinkform.php?url='.urlencode($url).'&title='.urlencode($title).'" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="카카오톡링크 보내기"></a>';
break;
}
return $str;
}
2. sns버튼에 적용은 아래처럼 오버시 이미지 경로를 추가하면 됩니다.
echo get_sns_share_link2('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_fb_s.png', G5_SHOP_SKIN_URL.'/img/sns_twt_s.png');
하지만 아직 베타버전이기 때문에 업데이트를 고려해서
아래코드를 /extend/get_sns.lib.php 파일을 만들어서 추가하거나 해당 파일(sns링크가 들어가 있는 파일) 상단 쪽에 따로 추가하는게 더 좋을 듯 합니다.
1. 함수 변경해서 추가
// sns 공유하기 over_img 추가 get_sns_share_link => get_sns_share_link2
function get_sns_share_link2($sns, $url, $title, $img, $over_img)
{
if(!$sns)
return '';
switch($sns) {
case 'facebook':
$str = '<a href="https://www.facebook.com/sharer/sharer.php?u='.urlencode($url).'&t='.urlencode($title).'" class="share-facebook" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="페이스북에 공유"></a>';
break;
case 'twitter':
$str = '<a href="https://twitter.com/share?url='.urlencode($url).'&text='.urlencode($title).'" class="share-twitter" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="트위터에 공유"></a>';
break;
case 'googleplus':
$str = '<a href="https://plus.google.com/share?url='.urlencode($url).'" class="share-googleplus" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="구글플러스에 공유"></a>';
break;
case 'kakaotalk':
$str = '<a href="'.G5_MSHOP_URL.'/kakaolinkform.php?url='.urlencode($url).'&title='.urlencode($title).'" target="_blank"><img src="'.$img.'" onmouseover="javascript:this.src=\''.$over_img.'\';" onmouseout="javascript:this.src=\''.$img.'\';" alt="카카오톡링크 보내기"></a>';
break;
}
return $str;
}
2. sns버튼에 적용은 아래처럼 오버시 이미지 경로를 추가하면 됩니다.
echo get_sns_share_link2('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_fb_s.png', G5_SHOP_SKIN_URL.'/img/sns_twt_s.png');
감사합니다. 뽁스님 눈물 쿄쿄쿄~~ ㅠㅠ ^^
멋진 4월 아름다운 4월 되세요 ^^
답변을 작성하시기 전에 로그인 해주세요.