태그구름(tag clouds)을 적용해보자~ 정보
태그구름(tag clouds)을 적용해보자~관련링크
http://bbomne.net/
542회 연결
본문
스킨화를하지는 못하였기에 팁란에 올립니다.. 제로보드에 적용된것을 그누보드에 맞게 수정하였으며.. 검색기능과 연계시켰습니다.. 여분필드 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 = "".$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]?>
"; $tags[] = "
<?=$view[wr_10]?> 여기서 이미지는 만들어서 경로에 올려주시면됩니다.. 적용게시판은 처음에 만든 tags.php에서 설정해주는만큼 적용할수잇습니다.. 참고로 적용된 예는 상단에 링크를 했습니다..
추천
1
1
댓글 7개
북학인님 수고하셨습니다.. 많은 도움 되었습니다.
스킨에도 문안하게 적용되네요.
** <? tag_cloud(갯수);?>
==>> 정말 주위 ㅠ
스킨에도 문안하게 적용되네요.
** <? tag_cloud(갯수);?>
==>> 정말 주위 ㅠ
<? 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> | </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> <?=$view[wr_10]?>
여기서 이미지는 만들어서 경로에 올려주시면됩니다..
적용게시판은 처음에 만든 tags.php에서 설정해주는만큼 적용할수잇습니다..
참고로 적용된 예는 상단에 링크를 했습니다..
구글에서 찾았습니다. 글 깨져서 못보셨던 분들 참고하세요~
[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> | </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> <?=$view[wr_10]?>
여기서 이미지는 만들어서 경로에 올려주시면됩니다..
적용게시판은 처음에 만든 tags.php에서 설정해주는만큼 적용할수잇습니다..
참고로 적용된 예는 상단에 링크를 했습니다..
http://www.lotsofcode.com/php/tutorials/tag-cloud
php 태그 구름 소스 연구하실 분은 위 싸이트도 좋습니다.
php 태그 구름 소스 연구하실 분은 위 싸이트도 좋습니다.