[기능] 게시판 SNS공유 추가 > 정보공유

본문 바로가기

정보공유

일반글
그누보드팁

[기능] 게시판 SNS공유 추가

페이지 정보

게시물QR코드

본문

그누보드 게시판의 상세페이지 하단에 보시면 SNS공유하는 버튼이 있습니다.

c02c15e6b28a8fdd209c83b1d3e53226_1495689766_5202.png
기본적으로 첨부 이미지와 같이 페이스북, 트위터, 구글플러스, 카카오톡

그누보드에서는 이렇게 기본적으로 4가지를 제공 하고 있습니다.

(카카오톡은 모바일에서만 전송이 가능하므로 현재 PC의 상태에서는 보이지 않습니다.)

하지만 요즘에는 다른 여러가지 SNS종류가 많다보니 다른 곳에도 공유를 원하시는 분들을 위해서

다른 SNS공유 버튼을 추가 해보도록 하겠습니다.

 

우선은 공유 버튼부터 추가 해보겠습니다.

www/plugin/sns/view.sns.skin.php 파일에 보시면 아래와 같은 소스코드가 있습니다.

<?php

/* www/plugin/sns/view.sns.skin.php */

 

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

if (!$board['bo_use_sns']) return;

 

$sns_msg = urlencode(str_replace('\"', '"', $view['subject']));

//$sns_url = googl_short_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

//$msg_url = $sns_msg.' : '.$sns_url;

 

/*

$facebook_url  = 'http://www.facebook.com/sharer/sharer.php?s=100&p[url]='.$sns_url.'&p[title]='.$sns_msg;

$twitter_url   = 'http://twitter.com/home?status='.$msg_url;

$gplus_url     = 'https://plus.google.com/share?url='.$sns_url;

*/

 

$sns_send  = G5_BBS_URL.'/sns_send.php?longurl='.urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

//$sns_send .= '&amp;title='.urlencode(utf8_strcut(get_text($view['subject']),140));

$sns_send .= '&amp;title='.$sns_msg;

 

$facebook_url = $sns_send.'&amp;sns=facebook';

$twitter_url  = $sns_send.'&amp;sns=twitter';

$gplus_url    = $sns_send.'&amp;sns=gplus';

?>

 

<?php if(G5_IS_MOBILE && $config['cf_kakao_js_apikey']) { ?>

<script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>

<script src="<?php echo G5_JS_URL; ?>/kakaolink.js"></script>

<script>

    // 사용할 앱의 Javascript 키를 설정해 주세요.

    Kakao.init("<?php echo $config['cf_kakao_js_apikey']; ?>");

</script>

<?php } ?>

 

<ul id="bo_v_sns">

    <li><a href="<?php echo $facebook_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/facebook.png" alt="페이스북으로 보내기"></a></li>

    <li><a href="<?php echo $twitter_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/twitter.png" alt="트위터로 보내기"></a></li>

    <li><a href="<?php echo $gplus_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/gplus.png" alt="구글플러스로 보내기"></a></li>

    <?php if(G5_IS_MOBILE && $config['cf_kakao_js_apikey']) { ?>

    <li><a href="javascript:kakaolink_send('<?php echo $sns_msg; ?>', '<?php echo urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); ?>');"><img src="<?php echo G5_SNS_URL; ?>/icon/kakaotalk.png" alt="카카오톡으로 보내기"></a></li>

    <?php } ?>

</ul>

해당 소스코드 부분 상단과 버튼이 있는 <ul>태그에 아래와 같이 소스코드를 추가 하겠습니다.

<?php

/* www/plugin/sns/view.sns.skin.php */

 

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

if (!$board['bo_use_sns']) return;

 

$sns_msg = urlencode(str_replace('\"', '"', $view['subject']));

//$sns_url = googl_short_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

//$msg_url = $sns_msg.' : '.$sns_url;

 

/*

$facebook_url  = 'http://www.facebook.com/sharer/sharer.php?s=100&p[url]='.$sns_url.'&p[title]='.$sns_msg;

$twitter_url   = 'http://twitter.com/home?status='.$msg_url;

$gplus_url     = 'https://plus.google.com/share?url='.$sns_url;

*/

 

$sns_send  = G5_BBS_URL.'/sns_send.php?longurl='.urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

//$sns_send .= '&amp;title='.urlencode(utf8_strcut(get_text($view['subject']),140));

$sns_send .= '&amp;title='.$sns_msg;

 

$facebook_url = $sns_send.'&amp;sns=facebook';

$twitter_url  = $sns_send.'&amp;sns=twitter';

$gplus_url    = $sns_send.'&amp;sns=gplus';

// sns공유 추가 (gnuwiz)

$band_url    = $sns_send.'&amp;sns=band'; // 네이버 밴드

$blog_url    = $sns_send.'&amp;sns=blog'; // 네이버 블로그

$pholar_url    = $sns_send.'&amp;sns=pholar'; // 폴라

$kakaostory_url    = $sns_send.'&amp;sns=kakaostory'; // 카카오 스토리

$telegram_url    = $sns_send.'&amp;sns=telegram'; // 텔레그램

$tumblr_url    = $sns_send.'&amp;sns=tumblr'; // 텀블러

?>

 

<?php if(G5_IS_MOBILE && $config['cf_kakao_js_apikey']) { ?>

<script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>

<script src="<?php echo G5_JS_URL; ?>/kakaolink.js"></script>

<script>

    // 사용할 앱의 Javascript 키를 설정해 주세요.

    Kakao.init("<?php echo $config['cf_kakao_js_apikey']; ?>");

</script>

<?php } ?>

 

<ul id="bo_v_sns">

    <li><a href="<?php echo $facebook_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/facebook.png" alt="페이스북으로 보내기"></a></li>

    <li><a href="<?php echo $twitter_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/twitter.png" alt="트위터로 보내기"></a></li>

    <li><a href="<?php echo $gplus_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/gplus.png" alt="구글플러스로 보내기"></a></li>

    <li><a href="<?php echo $band_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/band.png" alt="밴드 보내기"></a></li>

    <li><a href="<?php echo $blog_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/blog.png" alt="블로그 보내기"></a></li>

    <li><a href="<?php echo $pholar_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/pholar.png" alt="폴라 보내기"></a></li>

    <li><a href="<?php echo $kakaostory_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/kakaostory.png" alt="카카오스토리 보내기"></a></li>

    <li><a href="<?php echo $telegram_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/telegram.png" alt="텔레그램 보내기"></a></li>

    <li><a href="<?php echo $tumblr_url; ?>" target="_blank"><img src="<?php echo G5_SNS_URL; ?>/icon/tumblr.png" alt="텀블러 보내기"></a></li>

    <?php if(G5_IS_MOBILE && $config['cf_kakao_js_apikey']) { ?>

    <li><a href="javascript:kakaolink_send('<?php echo $sns_msg; ?>', '<?php echo urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); ?>');"><img src="<?php echo G5_SNS_URL; ?>/icon/kakaotalk.png" alt="카카오톡으로 보내기"></a></li>

    <?php } ?>

</ul>

 

그리고 sns공유 버튼의 이미지는 위의 첨부파일에서 다운로드 받으시고 압축을 풀어주세요.

압축을 풀어보시면 icon 이라는 폴더안에 이미지 파일들이 있습니다.

이미지파일의 경로는 www/plugin/sns/icon 폴더 아래에 업로드 하시면 되겠습니다.

 

이후에 www/bbs/sns_send.php 파일을 열어주세요.

아래와 같은 소스코드로 되어있습니다.

<?php

/* www/bbs/sns_send.php */

 

include_once("./_common.php");

 

$title    =  urlencode(str_replace('\"', '"',$_REQUEST['title']));

$short_url = googl_short_url($_REQUEST['longurl']);

if(!$short_url)

    $short_url = urlencode($_REQUEST['longurl']);

$title_url = $title.' : '.$short_url;

 

switch($_REQUEST['sns']) {

    case 'facebook' :

        header("Location:http://www.facebook.com/sharer/sharer.php?s=100&u=".$short_url."&p=".$title);

        break;

    case 'twitter' :

        header("Location:https://twitter.com/intent/tweet?text=".$title_url);

        break;

    case 'gplus' :

        header("Location:https://plus.google.com/share?url=".$short_url);

        break;

    default :

        echo 'Error';

}

?>

아래와 같이 해당 부분의 switch문에 case를 추가하여 다른 공유 버튼의 링크를 넣어주도록 하겠습니다.

<?php

/* www/bbs/sns_send.php */

 

include_once("./_common.php");

 

$title    =  urlencode(str_replace('\"', '"',$_REQUEST['title']));

$short_url = googl_short_url($_REQUEST['longurl']);

if(!$short_url)

    $short_url = urlencode($_REQUEST['longurl']);

$title_url = $title.' : '.$short_url;

 

switch($_REQUEST['sns']) {

    case 'facebook' :

        header("Location:http://www.facebook.com/sharer/sharer.php?s=100&u=".$short_url."&p=".$title);

        break;

    case 'twitter' :

        header("Location:https://twitter.com/intent/tweet?text=".$title_url);

        break;

    case 'gplus' :

        header("Location:https://plus.google.com/share?url=".$short_url);

        break;

case 'band' :

        header("Location:http://band.us/plugin/share?body=".$short_url."&route=".$short_url);

        break;

case 'm_band' :

header("Location:bandapp://create/post?text=".$short_url."&route=".$title_url);

break;

case 'blog':

header("Location:http://blog.naver.com/openapi/share?url=".$short_url."&title=".$title_url);

break;

case 'pholar':

header("Location:http://www.pholar.co/spi/rephol?url=".$short_url."&title=".$title_url);

break;

case 'kakaostory':

header("Location:https://story.kakao.com/share?url=".$short_url."&title=".$title_url);

break;

case 'telegram':

header("Location:https://telegram.me/share/url?url=".$short_url."&text=".$title);

break;

case 'tumblr':

header("Location:http://www.tumblr.com/share?v=3&u=".$short_url."&t=".$title);

break;

    default :

        echo 'Error';

}

?>

이렇게 그대로 적용하시면 다양한 SNS공유 버튼이 추가 됩니다.

c02c15e6b28a8fdd209c83b1d3e53226_1495690572_2103.png 

다른 SNS공유도 넣고 싶다면 해당 방법을 응용해서 하나씩 추가 하시면 되겠습니다.


 

첨부파일

댓글목록

등록된 댓글이 없습니다.

  • Addr.부산광역시 동구 중앙대로 319, 9층 L4호(초량동, 부산YMCA빌딩) Email. gnuwiz@naver.com
  • BR. 625-68-00172 TRC. 2019-부산해운대-1186 TEL. 0507-1382-2790
All rights reserved.