카테고리(분류)별 새로운글 표시기능 정보
그누호환 카테고리(분류)별 새로운글 표시기능본문
리스트에서 selec로 된 카테고리(분류)를 한줄로 처리한후
카테고리(분류)에 새로운 글있는지 표시기능 추가....
1. lib/developer.lib.php에 다음 내용을 추가한다.
function new_list_category($table, $ca_id)
{
$sql = " select wr_datetime from $table";
if($ca_id != "all") $sql .= " where ca_id = $ca_id ";
$sql .= " order by wr_datetime desc limit 1";
$row = mysql_fetch_array(mysql_query($sql));
if (!$row) return 0; // 조회된 값이 없을 경우
if($row[wr_datetime] >= date("Y-m-d H:i:s", time() - 24 * 3600))
return 1;
else
return 0;
}
function get_category_list($table,$loc)
{
global $stext;
$sql = " select * from {$table}_cat order by ca_id ";
$result = sql_query($sql);
if(new_list_category($table,"all"))
$icon_new = "<img src=http://www.sir.co.kr/image/icon_new3.gif border=0>";
else
$icon_new = "";
if(!$stext){
$str = "<b><blink>[</blink> <a href=$loc> $icon_new 전체 </a> <blink>]</blink></b> ";
} else {
$str = "[ <a href=$loc> $icon_new 전체 </a> ] ";
}
while ($row = mysql_fetch_array($result))
{
if(new_list_category($table,$row[ca_id]))
$icon_new = "<img src=http://www.sir.co.kr/image/icon_new3.gif border=0>";
else
$icon_new = "";
if($stext == $row[ca_id]) $str .= " <b><blink>[</blink> ";
else $str .= " [ ";
$str .= $icon_new;
$str .= " <a href=$loc$row[ca_id]>".get_category_name($table,$row[ca_id])."</a> ";
if($stext == $row[ca_id]) $str .= " <blink>]</blink></b> ";
else $str .= " ] ";
}
mysql_free_result($result);
return $str;
}
2. 게시판 스킨 디렉토리에있는 gblist.skin.php을 다음과 같이 수정한다.
아래의 수정전 내역을 수정후와 같이 바꾸셔도되고,
수정전 파일의 앞뒤에 html 주석을 처리를 하고 수정후를 추가하셔도 됩니다.
수정전 :
<!-- // html 주석으로 처리하고자 할경우
<? if ($is_category) { ?>
<select name=ca_id onchange="location='<?=$category_location?>'+this.value;" class=select>
<option value=''>전체</option>
<?=$category_option?>
</select>
<? } ?>
// html 주석으로 처리하고자 할경우 -->
수정후 :
<?
if ($is_category) {
echo "<input type=hidden name=ca_id>";
echo get_category_list("$cfg[write_table_prefix]$bo_table",$category_location);
}
?>
3. 게시판 스킨 디렉토리에있는 gblist.skin.php에 다음 내용을 추가한다..
<?
/*******************************************************/
// 다음의 스크립터는 <blink></blink> 처리를 위한것이다.
// 350은 깜박이는 속도. (높은 수일수록 깜박이는 속도 느림)
/*******************************************************/
print "<script language=JavaScript>\n";
print " function doBlink() {\n";
print " var blink = document.all.tags(\"BLINK\")\n";
print " for (var i=0; i < blink.length; i++)\n";
print " blink[i].style.visibility = blink[i].style.visibility == \"\" ? \"hidden\" : \"\"\n";
print " }\n";
print " function startBlink() {\n";
print " if (document.all)\n";
print " setInterval(\"doBlink()\",350)\n";
print " }\n";
print " window.onload = startBlink;\n";
print "</script>\n";
?>
카테고리(분류)에 새로운 글있는지 표시기능 추가....
1. lib/developer.lib.php에 다음 내용을 추가한다.
function new_list_category($table, $ca_id)
{
$sql = " select wr_datetime from $table";
if($ca_id != "all") $sql .= " where ca_id = $ca_id ";
$sql .= " order by wr_datetime desc limit 1";
$row = mysql_fetch_array(mysql_query($sql));
if (!$row) return 0; // 조회된 값이 없을 경우
if($row[wr_datetime] >= date("Y-m-d H:i:s", time() - 24 * 3600))
return 1;
else
return 0;
}
function get_category_list($table,$loc)
{
global $stext;
$sql = " select * from {$table}_cat order by ca_id ";
$result = sql_query($sql);
if(new_list_category($table,"all"))
$icon_new = "<img src=http://www.sir.co.kr/image/icon_new3.gif border=0>";
else
$icon_new = "";
if(!$stext){
$str = "<b><blink>[</blink> <a href=$loc> $icon_new 전체 </a> <blink>]</blink></b> ";
} else {
$str = "[ <a href=$loc> $icon_new 전체 </a> ] ";
}
while ($row = mysql_fetch_array($result))
{
if(new_list_category($table,$row[ca_id]))
$icon_new = "<img src=http://www.sir.co.kr/image/icon_new3.gif border=0>";
else
$icon_new = "";
if($stext == $row[ca_id]) $str .= " <b><blink>[</blink> ";
else $str .= " [ ";
$str .= $icon_new;
$str .= " <a href=$loc$row[ca_id]>".get_category_name($table,$row[ca_id])."</a> ";
if($stext == $row[ca_id]) $str .= " <blink>]</blink></b> ";
else $str .= " ] ";
}
mysql_free_result($result);
return $str;
}
2. 게시판 스킨 디렉토리에있는 gblist.skin.php을 다음과 같이 수정한다.
아래의 수정전 내역을 수정후와 같이 바꾸셔도되고,
수정전 파일의 앞뒤에 html 주석을 처리를 하고 수정후를 추가하셔도 됩니다.
수정전 :
<!-- // html 주석으로 처리하고자 할경우
<? if ($is_category) { ?>
<select name=ca_id onchange="location='<?=$category_location?>'+this.value;" class=select>
<option value=''>전체</option>
<?=$category_option?>
</select>
<? } ?>
// html 주석으로 처리하고자 할경우 -->
수정후 :
<?
if ($is_category) {
echo "<input type=hidden name=ca_id>";
echo get_category_list("$cfg[write_table_prefix]$bo_table",$category_location);
}
?>
3. 게시판 스킨 디렉토리에있는 gblist.skin.php에 다음 내용을 추가한다..
<?
/*******************************************************/
// 다음의 스크립터는 <blink></blink> 처리를 위한것이다.
// 350은 깜박이는 속도. (높은 수일수록 깜박이는 속도 느림)
/*******************************************************/
print "<script language=JavaScript>\n";
print " function doBlink() {\n";
print " var blink = document.all.tags(\"BLINK\")\n";
print " for (var i=0; i < blink.length; i++)\n";
print " blink[i].style.visibility = blink[i].style.visibility == \"\" ? \"hidden\" : \"\"\n";
print " }\n";
print " function startBlink() {\n";
print " if (document.all)\n";
print " setInterval(\"doBlink()\",350)\n";
print " }\n";
print " window.onload = startBlink;\n";
print "</script>\n";
?>
추천
2
2
댓글 전체
좋은 자료 고맙습니다.
카리고리에서 임의의 갯수다음에 <br>을 설정하고 싶으면 다음 글 참조
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&wr_id=13446
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&wr_id=13446