카테고리 있는 게시판에서 카테고리 가로로 출력하기 정보
카테고리 있는 게시판에서 카테고리 가로로 출력하기본문
이전에 똑같은 팁을 올린 적이 있는데 일종의 버그가 있어서 보완해 올립니다.
아래 소스는 각 게시판의 스킨파일중 list.skin.php 등에 올려도 되지만 그누보드의 head.php 자체에 올려도 됩니다. (물론 위치는 적절히 알아서 세팅을^^;)
이렇게 하면 좋은 것이 본문보기를 해도 항상 상단에 카테고리목록이 떠준다는 거죠. (심지어는 글쓰기에서도)
:: 기능설명
- 카테고리 목록 가로 출력 (list.skin.php에서 카테고리 셀렉트 소스는 미리 주석처리를..)
- 가로목록(td)수 지정하여 초과할 경우 행바꿔 출력하기
- 선택한 카테고리 표시(굵은글씨)
- 카테고리별 링크
- 카테고리별 게시글수 표시
왠지 있어보일려고 주욱 나열했습니다 ㅎㅎ;
수정한 버그 : 카테고리별 게시글수에 댓글(코멘트)수까지 포함되던 걸 고쳤습니다.
<? if ($is_category) {
//echo "<table width='100%' cellpadding='0' cellspacing='0' style='margin:0 0 0 0;border:solid #55cc55 1px;'>"; //★ (카테고리목록의 테이블 길이를 100%로 할 경우)
echo "<table cellpadding='0' cellspacing='0' style='margin:0 0 0 0;border:solid #55cc55 1px;'>"; //◆
//echo "<table width='100%' cellpadding='0' cellspacing='0' style='margin:0 0 0 0;border:solid #55cc55 1px;'>"; //★ (카테고리목록의 테이블 길이를 100%로 할 경우)
echo "<table cellpadding='0' cellspacing='0' style='margin:0 0 0 0;border:solid #55cc55 1px;'>"; //◆
$ca_menu = explode("|",$board[bo_category_list]);
$ca_td_num = "5"; //가로칸수. 원하는 칸수만큼 지정해주면 됩니다.
//$ca_td_width = 100 / $ca_td_num ; //★ <td width='%'>값
$ca_td_num = "5"; //가로칸수. 원하는 칸수만큼 지정해주면 됩니다.
//$ca_td_width = 100 / $ca_td_num ; //★ <td width='%'>값
for ($c=0, $cnt=count($ca_menu); $c<$cnt; $c++) {
if (($c == "0") || (($c >= $ca_td_num) && ($c % $ca_td_num == "0"))) { echo "<tr>"; }
//echo "<td width='".$ca_td_width."%'>"; //★
echo "<td style='padding:2 10 2 10;'>"; //◆
if (($c == "0") || (($c >= $ca_td_num) && ($c % $ca_td_num == "0"))) { echo "<tr>"; }
//echo "<td width='".$ca_td_width."%'>"; //★
echo "<td style='padding:2 10 2 10;'>"; //◆
//★표와 ◆표는 어느 한쪽을 쓸 경우 다른 쪽을 주석처리하면 됩니다.
if ($sca == $ca_menu[$c]) { $bcoral = "<b style='color:coral'>"; } else { $bcoral = ""; }
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0 and ca_name = '$ca_menu[$c]'";
$rowCnum = sql_fetch($sqlCnum);
echo "<a href='".$g4['bbs_path']."/board.php?bo_table=".$bo_table."&sca=".urlencode($ca_menu[$c])."'>";
echo $bcoral.$ca_menu[$c]."<span style='font-size:10px;color:#666666;'>(".$rowCnum[Cnum].")</span></a>";
echo "</td>";
}
echo "</tr></table>";
} ?>
head.php든 어디든 적당한 곳에 넣어주면 카테고리가 있는 게시판에서만 작동합니다.
추천
4
4
댓글 14개
FAQ등에 사용하면 참 좋을듯 하네요.!
사용하고 나니 무지 깔끔해 졌습니다. 감사합니다 ^^
정말 유용한 팁 감사합니다!!
좋은정보감사드립니다.
참 좋습니다. 그런데 head.php 제일 아래쪽에 삽입하였으나 카테고리 기능을 위해서 해당 게시판에 분류에 체크하고 사용해도 안 되는군요 그냥 셀렉트 박스만 나오는데요 무엇을 잘못했을까요? 부탁드립니다.
http://www.jesus91.net/bbs/board.php?bo_table=premovi
http://www.jesus91.net/bbs/board.php?bo_table=premovi
1
가로출력 카테고리
좋아요
정말 깔끔해졌씁니다.
sir에 들어오셔서 팁을 올려주시는 분들의 수준은정말 대단하네요.
sir에 들어오셔서 팁을 올려주시는 분들의 수준은정말 대단하네요.
깔끔하고 좋습니다. 가로 갯수도 지정할 수 있어서 더욱 편하고요 감사합니다.
감사합니다.
전체도 포함을 시킬려면 어케 하나용?
감사합니다~
* 저는 div 로 바꿨어요
/* 해당 스타일 */
div #customer_cate_box{ width:770px; height:15px; border:4px double #54a6ab; background:#ffffff; text-align:center;padding-top:15px; padding-bottom:15px; margin-bottom:20px; }
div #customer_cate01 {float:left; padding-left:27px;text-align:left; }
<!-- 카테고리 가로로 출력 -->
<? if ($is_category) {
echo "<div id='customer_cate_box'>";
$ca_menu = explode("|",$board[bo_category_list]);
$ca_div_num = "9"; //가로칸수. 원하는 칸수만큼 지정해주면 됩니다.
//$ca_div_width = 100 / $ca_div_num ; //
for ($c=0, $cnt=count($ca_menu); $c<$cnt; $c++) {
echo "<div id='customer_cate01'>"; //
if ($sca == $ca_menu[$c]) { $bcoral = "<b style='color:coral'>"; } else { $bcoral = ""; }
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0 and ca_name = '$ca_menu[$c]'";
$rowCnum = sql_fetch($sqlCnum);
echo "<a href='".$g4['bbs_path']."/board.php?bo_table=".$bo_table."&sca=".urlencode($ca_menu[$c])."'>";
echo $bcoral.$ca_menu[$c]."<span style='font-size:10px;color:#666666;'>(".$rowCnum[Cnum].")</span></a>";
echo "</div>";
}
echo "</div>";
} ?>
* 저는 div 로 바꿨어요
/* 해당 스타일 */
div #customer_cate_box{ width:770px; height:15px; border:4px double #54a6ab; background:#ffffff; text-align:center;padding-top:15px; padding-bottom:15px; margin-bottom:20px; }
div #customer_cate01 {float:left; padding-left:27px;text-align:left; }
<!-- 카테고리 가로로 출력 -->
<? if ($is_category) {
echo "<div id='customer_cate_box'>";
$ca_menu = explode("|",$board[bo_category_list]);
$ca_div_num = "9"; //가로칸수. 원하는 칸수만큼 지정해주면 됩니다.
//$ca_div_width = 100 / $ca_div_num ; //
for ($c=0, $cnt=count($ca_menu); $c<$cnt; $c++) {
echo "<div id='customer_cate01'>"; //
if ($sca == $ca_menu[$c]) { $bcoral = "<b style='color:coral'>"; } else { $bcoral = ""; }
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0 and ca_name = '$ca_menu[$c]'";
$rowCnum = sql_fetch($sqlCnum);
echo "<a href='".$g4['bbs_path']."/board.php?bo_table=".$bo_table."&sca=".urlencode($ca_menu[$c])."'>";
echo $bcoral.$ca_menu[$c]."<span style='font-size:10px;color:#666666;'>(".$rowCnum[Cnum].")</span></a>";
echo "</div>";
}
echo "</div>";
} ?>
좋은팁이네요~ 감사합니다