태그구름(tag clouds)을 적용해보자~ > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

태그구름(tag clouds)을 적용해보자~ 정보

태그구름(tag clouds)을 적용해보자~

본문

스킨화를하지는 못하였기에 팁란에 올립니다.. 제로보드에 적용된것을 그누보드에 맞게 수정하였으며.. 검색기능과 연계시켰습니다.. 여분필드 wr_10을 사용합니다... 우선...아래의 소스를 tags.php로 만들어 그누보드설치경로에 올립니다..(즉 그누보드의 index.php와 같은곳) <? function tag_cloud($l_num) { $base_tag1 = ""; // 기본 열기 태그 설정(해당 키워드에 기본적으로 태그입히기) $base_tag2 = ""; // 기본 닫기 태그 설정(해당 키워드에 기본적으로 태그입히기) $limit_num = $l_num; // 뽑아올 키워드 개수 $use_tags = array("","","","","","","","","","","","","",""); // 태그 등록(배열로 정확히 등록할것) $board_name = "게시판1,게시판2,게시판3"; // 뽑아올 게시판(컴마 (,) 로 구분) $rate = count($use_tags)+1; // 태그를 적용할 확률(랜덤) 뒤에 숫자가 클수록 확률 적음, 나머진 기본 태그로 보임 $board_name = explode(",",$board_name); for($i=0;$i","",$tmp_tag); $tmp_tag = explode(" ",$tmp_tag); if($tmp_tag[0])$close_tag = "".$TMP_TAG[0].">"; else $close_tag = $base_tag2; $space = " | "; $tags[] = "".$open_tag.$tags_value[$k].$close_tag."{$space}"; } $tags = implode("",$tags); echo $tags; } ?> 그리고 태그구름을 적용할 게시판스킨의 write.skin.php의 아래부분에 <? if ($w == 'u') {?> <? }?>을 추가합니다.. 그리고..write.skin.php의 트랙백쓰기 위부분에 태그입력:태그(핵심 키워드)를 ,(컴마)로 구분하여 넣으세요! '> 추가해줍니다.. 그리고나서 태그구름을 불러올 파일(예 index.php)의 상단에 제일 처음 만든 tags.php를 인쿠르드시켜줍니다.. <? include_once("./tags.php"); ?>그리고 나서 호출할 위치에 <? tag_cloud(갯수);?>위와 같이 호출해줍니다.. 여기서 주의사항은 갯수를20개로 한다면 20개의 태그가 이미 입력되어 있어야 합니다.. 그리고나서 popular스킨과 search에서 1.popular.skin.php의 하단의 <? echo 어저고저저고{$list[$i][pp_word]}"; ?> 에 wr_10을 추가합니다.. 다음과 같습니다.. <? echo 어저고저저고{$list[$i][pp_word]}"; ?> 2.search.skin.php에서 역시 wr_10을 추가해줍니다... 마지막으로.. 적용게시판 스킨의 view.skin.php에서 내용을 불러오는 곳인 <?=$view[rich_content]?>를 다음과 같이 바구어줍니다.. <?=$view[rich_content]?>
icon_tag.gif  <?=$view[wr_10]?> 여기서 이미지는 만들어서 경로에 올려주시면됩니다.. 적용게시판은 처음에 만든 tags.php에서 설정해주는만큼 적용할수잇습니다.. 참고로 적용된 예는 상단에 링크를 했습니다..
추천
1

댓글 7개

북학인님 수고하셨습니다..    많은 도움 되었습니다.
스킨에도 문안하게 적용되네요.

** <? tag_cloud(갯수);?>

==>> 정말 주위  ㅠ
<? tag_cloud(갯수);?> 

호출시 입력되어진 태그숫자보다 많이 호출하면 무한루프를해버립니다...
입력태그숫자를 늘려가면서...<? tag_cloud(갯수);?>  의 입력갯수를 함게 적정선까지 늘려가셔야합니다
http://www.sc8000.net/gn/bbs/board.php?bo_table=gn_tip&wr_id=1285&page=4
구글에서 찾았습니다. 글 깨져서 못보셨던 분들 참고하세요~

[SIR > 그누보드4 > 팁] 태그구름(tag clouds)을 적용해보자~  +
  글쓴이 : RSS    날짜 : 07-05-02 18:51    조회 : 28   
스킨화를하지는 못하였기에 팁란에 올립니다..
제로보드에 적용된것을 그누보드에 맞게 수정하였으며..
검색기능과 연계시켰습니다..
여분필드 wr_10을 사용합니다...

우선...아래의 소스를 tags.php로 만들어 그누보드설치경로에 올립니다..(즉 그누보드의 index.php와 같은곳)
<?

function tag_cloud($l_num) {


$base_tag1 = "<font color=#999999>"; // 기본 열기 태그 설정(해당 키워드에 기본적으로 태그입히기)
$base_tag2 = "</font>"; // 기본 닫기 태그 설정(해당 키워드에 기본적으로 태그입히기)
$limit_num = $l_num; // 뽑아올 키워드 개수
$use_tags = array("<font style='font-family:굴림;color:#CC0000'>","<font style='font-family:굴림;color:#339900'>","<font style='font-family:굴림;color:#0066CC'>","<font style='font-family:굴림;color:#CC00CC'>","<font style='font-family:굴림;color:#339999'>","<span style='font-family:굴림;color:#669933;background-color:#EAF6D7;'>", "<span style='font-family:굴림;color:#6699FF;background-color:#E7F1FE;'>", "<font style='font-family:굴림;font-size:14pt;color:#CC0000'>","<font style='font-family:굴림;font-size:14pt;color:#FFCC00'>","<b>", "<font style='font-family:굴림;font-size:18pt;color:#333366'>","<font style='font-family:굴림;font-size:18pt;color:#996666'>","<font style='font-family:굴림;font-size:18pt;color:#003399'>","<font style='font-family:굴림;font-size:18pt;color:#FF9900'>"); // 태그 등록(배열로 정확히 등록할것)

$board_name = "게시판1,게시판2,게시판3"; // 뽑아올 게시판(컴마 (,) 로 구분)
$rate = count($use_tags)+1; // 태그를 적용할 확률(랜덤) 뒤에 숫자가 클수록 확률 적음, 나머진 기본 태그로 보임

$board_name = explode(",",$board_name);
for($i=0;$i<count($board_name);$i++) {
$sql="select wr_num,wr_10 from g4_write_$board_name[$i] where wr_10!='' order by rand() desc limit $limit_num";

$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) {
$array_tags = explode(",",$row[wr_10]);
$tmp_tags = array();







for($j=0;$j<$limit_num;$j++) {

$rand_num=rand(0,count($array_tags)-1);
if(in_array($array_tags[$rand_num], $tmp_tags)) { continue; }
else {
$tmp_value[] = $array_tags[$rand_num];
$tmp_board[] = $board_name[$i];
}

}

}

}

$tags_value = array();
while(1) {
$rand_num2=rand(0,count($tmp_value)-1);
if(in_array($tmp_value[$rand_num2], $tags_value)) { continue; }
$tags_value[] = $tmp_value[$rand_num2];
$tags_board[] = $tmp_board[$rand_num2];
if(count($tags_value)==$limit_num) break;
}

for($k=0;$k<count($tags_value);$k++) {
$r_num=rand(0,$rate);
$open_tag = $use_tags[$r_num];
if(!$open_tag) $open_tag=$base_tag1;
$tmp_tag = str_replace("<","",$open_tag);
$tmp_tag = str_replace(">","",$tmp_tag);
$tmp_tag = explode(" ",$tmp_tag);
if($tmp_tag[0])$close_tag = "</".$tmp_tag[0].">";
else $close_tag = $base_tag2;





$space = "<span class=tagspace>&nbsp;|&nbsp;</span>";


$tags[] = "<a href='http://그누보드경로/bbs/search.php?sfl=wr_10&sop=and&stx=".$ tags_value[$k]."' class='{$class_tag}'>".$open_tag.$tags_value[$k].$close_tag."</a>{$space}";

}



$tags = implode("",$tags);
echo $tags;

}

?>

그리고 태그구름을 적용할 게시판스킨의 write.skin.php의

<form name="fwrite" method="post" action="javascript-x:fwrite_check(document.fwrite);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=w        value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id    value="<?=$wr_id?>">
<input type=hidden name=sca      value="<?=$sca?>">
<input type=hidden name=sfl      value="<?=$sfl?>">
<input type=hidden name=stx      value="<?=$stx?>">
<input type=hidden name=spt      value="<?=$spt?>">
<input type=hidden name=sst      value="<?=$sst?>">
<input type=hidden name=sod      value="<?=$sod?>">
<input type=hidden name=page    value="<?=$page?>">

아래부분에

<? if ($w == 'u') {?>       
     
        <input type=hidden name=wr_10    value="<?=$write[wr_10]?>">
    <? }?>
을 추가합니다..

그리고..write.skin.php의 트랙백쓰기 위부분에


<tr><td >태그입력:태그(핵심 키워드)를 ,(컴마)로 구분하여 넣으세요! </td></tr>
                            <tr> <td> <input type='text'style="width:50%;" size=120 name='wr_10' itemname='태그' value='<?=$write['wr_10']?>'></td>
  </tr>

추가해줍니다..


그리고나서

태그구름을 불러올 파일(예 index.php)의 상단에

제일 처음 만든 tags.php를 인쿠르드시켜줍니다..

<?
include_once("./tags.php");
?>

그리고 나서 호출할 위치에

<? tag_cloud(갯수);?>

위와 같이 호출해줍니다..

여기서 주의사항은

갯수를20개로 한다면

20개의 태그가 이미  입력되어 있어야 합니다..

그리고나서

popular스킨과 search에서

1.popular.skin.php의 하단의
<?
echo 어저고저저고<a href='$g4[bbs_path]/search.php?sfl=wr_subject&sop=and&stx=".urlencode($list[$i][pp_word])."'>{$list[$i][pp_word]}</a>";
?>
에 wr_10을 추가합니다..

다음과 같습니다..
<?
echo 어저고저저고<a href='$g4[bbs_path]/search.php?sfl=wr_subject||wr_10&sop=and&stx=".urlencode($list[$i][pp_word])."'>{$list[$i][pp_word]}</a>";
?>

2.search.skin.php에서
역시 wr_10을 추가해줍니다...



마지막으로..
적용게시판 스킨의 view.skin.php에서
내용을 불러오는 곳인 <?=$view[rich_content]?>를

다음과 같이 바구어줍니다..
<?=$view[rich_content]?><p>
<img src="<?=$g4[path]?>/img/icon_tag.gif" border=0>&nbsp;&nbsp;<?=$view[wr_10]?>

여기서 이미지는 만들어서 경로에 올려주시면됩니다..

적용게시판은 처음에 만든 tags.php에서 설정해주는만큼 적용할수잇습니다..

참고로 적용된 예는 상단에 링크를 했습니다..
전체 7 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

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