2단 카테고리 게시판 > 그누보드5 스킨

그누보드5 스킨

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

2단 카테고리 게시판 정보

게시판 2단 카테고리 게시판

첨부파일

list.php (7.3K) 396회 다운로드 2014-05-27 15:56:53
cat_gallery.zip (34.5K) 431회 다운로드 2014-05-27 15:56:53

본문

2단 카테고리 게시판입니다. 모바일버전은 시간상 만들지 않았습니다.

나중에 시간이 나면 모바일버전도 제작하겠습니다.

1단 카테고리는 wr_1 여분필드를 사용하였고, 2단 카테고리는 wr_2  여분필드를 사용하였습니다.

갤러리게시판을 수정한 버전입니다.

list 1차 카테고리에 마우스 롤오버하면 2차 카테고리가 보입니다. ajax를 사용한 게시판입니다.

사용 설명을 하겠습니다.

#########################설치방법시작##############################
1. 첨부파일의 cat_gallery 폴더를 ./skin/board/ 안에 업로드를 합니다.
  [./는 루트를 뜻합니다.]

## 2번을 작업을 하기전에 주의!!##
./bbs/list.php 파일을 백업 해두시기 바랍니다.
만약 오류가 발생하더라도 책임지지 않습니다. 혹시나 list.php를 수정을 한 홈페이지는 기본 list.php와 다른 부분을 수정 하시면 사용하실 수 있습니다.

2. 첨부파일의 list.php는 ./bbs/에 업로드를 합니다.[덮어쓰기 하시면 됩니다.]

3. 게시판스킨을 cat_gallery로 설정을 합니다.

########################설치끝#####################################


#########################사용방법##################################
1. 먼저 1차 분류를 등록합니다.
[관리자페이지] -> [게시판설정] -> [해당게시판수정] -> [제일하단에 여분필드1]

##1차분류 등록방법 -> 가|나|다|라|마 로 구분합니다. (너무 많은 1차 카테고리는 레이아웃이 깨질수 있습니다.)

2. 그리고 2차 분류를 등록합니다.

[관리자페이지] -> [게시판설정] -> [해당게시판수정] -> [제일하단에 여분필드2]

##2차분류 등록방법 -> 가-1,가-2,가-3,가-4|나-1,나-2,|다-1,다-2|라_1,라_2,라_3|마_1,마_2
(1차분류 순서대로 작성을 해주시면 됩니다.)
[,]와[|]로 구분입니다.

#########################사용방법##################################

쉽게 만들기 위해 편법을 사용한 것이므로 오류가 발생 할 수 도 있습니다. 말씀 해주시면 수정하겠습니다.

아그리고 여분필드가 작아서 보기 힘드시면 ./adm/board_form.php 에 1243번째 줄에

<input type="text" name="bo_<?php echo $i ?>" value="<?php echo get_text($board['bo_'.$i]) ?>" id="bo_<?php echo $i ?>" class="frm_input" style="width:700px">

style="width:700px" 취향따라 넓이를 넣어주세요.
추천
3

댓글 전체

좋은스킨 감사합니다!
글수정시 2차카테고리가 하나씩 밀려나서 나오네요.
없는 실력에 아래처럼 수정해서 씁니다. 안되시는분 참고하시길.

<select name="wr_1" id="wr_1" required onchange="select_wr1();">
<option value="1차분류">1차분류 선택하세요.</option>
<?if($wr_id){?>
<option value="<?=$write[wr_1]?>" selected><?=$write[wr_1]?></option>
<?for($i = 0; $i < count($cat1); $i++){?>
<?if($cat1[$i] == $write[wr_1]){?>
<?}else{?>
<option id = "<?=$i?>"value="<?=$cat1[$i]?>"><?=$cat1[$i]?></option>
<?}?>
<?}?>
<?}else{?>
<?for($i = 0; $i < count($cat1); $i++){?>
<option id = "<?=$i?>"value="<?=$cat1[$i]?>"><?=$cat1[$i]?></option>
<?}?>
<?}?>
</select>
감사드립니다. 덕분에 수정했습니다.
근데 이 스킨은 이상하게 카테고리 필수입력이 안 먹히네요.
혹시 해결하신분 계신가싶어 질문드려 봅니다.
필수입력이 안 먹혀서 간혹 카테고리를 빼먹고 글을 쓰면 수정시 카테고리를 지정할수가 없는 문제가 생깁니다.
그래서 글을 지우고 새로 써야하더라고요.
$total_count = mysql_num_rows($result);

이부분이 오류라는데 뭐가문제인가요?

list.php부분입ㄴ디ㅏ.

그리고 댓글 사용 시 올바른 방법으로 이용해 주십시오.라는 멘트가 뜨는데 이부분은 어떻게 해야할까요 ㅠㅠ?
해결은 못했구 조금 다르게 생각한 방식으로 페이지네이션 수는 전체수로 지정하고,
1페이지의 갯수를 12로 지정하고 12개 이상일 때 페이지네이션이 보이게 지정해버렸습니다..ㅎㅎ
분류명 검색시 count 수와 페이지네이션은

/bbs/list.php에서

if ($sca || $stx ) {
  $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
  // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
  $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
  $row = sql_fetch($sql);
  $min_spt = (int)$row['min_wr_num'];
  if (!$spt) $spt = $min_spt;
  if($wr_1 && !$wr_2) {
    $sql_search .= " and (wr_1 = '{$wr_1}' and wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
  } else if($wr_1 && $wr_2) {
    $sql_search .= " and (wr_1 = '{$wr_1}' and wr_2 = '{$wr_2}' and wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
  } else {
    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
  }
  // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
  $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
  $result = sql_query($sql);
  $total_count = mysql_num_rows($result);
}

이 부분을
if ($sca || $stx ) {
  $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
  // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
  $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
  $row = sql_fetch($sql);
  $min_spt = (int)$row['min_wr_num'];
  if (!$spt) $spt = $min_spt;
  // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
  $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
  $result = sql_query($sql);
  $total_count = mysql_num_rows($result);
} else if ($wr_1 || $wr_2) {
  $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
  // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
  $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
  $row = sql_fetch($sql);
  $min_spt = (int)$row['min_wr_num'];
  if (!$spt) $spt = $min_spt;
  if($wr_1 && !$wr_2) {
    $sql_search .= " or (wr_1 = '{$wr_1}' and wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
  } else if($wr_1 && $wr_2) {
    $sql_search .= " or (wr_1 = '{$wr_1}' and wr_2 = '{$wr_2}' and wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
  } else {
    $sql_search .= " or (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
  }
  $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
  $result = sql_query($sql);
  $total_count = mysql_num_rows($result);
} else {
  $sql_search = "";
  $total_count = $board['bo_count_write'];
}

로 수정합니다. 또 list.skin.php에서

<? if($cat1) { ?>
  <nav id="bo_cate">
    <ul id="bo_cate_ul">
      <li>
        <a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>" id="bo_cate_on" <?if($wr_1 == '' || !$wr_1){?>style="background-color:#ccc;"<?}else{}?>>전체</a>
      </li>
      <?for($i = 0; $i < count($cat1); $i++){?>
      <li>
        <a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&wr_1=<?=$cat1[$i]?>" class="c_<?=$i?>" id="bo_cate_on"
        <? if($wr_1 == $cat1[$i]) { ?>style="background-color:#ccc;"<?}else{}?>><?=$cat1[$i]?></a>
        <ul>
          <?for($j = 0; $j < count($cat2[$i]); $j++){?>
          <li>
            <a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&wr_1=<?=$cat1[$i]?>&wr_2=<?=$cat2[$i][$j]?>"
            <?if($wr_2 == $cat2[$i][$j]){?>style="background-color:#3D3D3D;color:#fff;"<? } else { } ?>>
              <?=$cat2[$i][$j]?>
            </a>
          </li>
          <? } ?>
        </ul>
      </li>
      <? } ?>
    </ul>
  </nav>
<? } ?>


이 부분을

<? if($cat1) { ?>
<nav id="bo_cate" style="border:0px solid blue">
  <ul id="bo_cate_ul">
    <li style="padding:3px"><a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>" id="bo_cate_on"
    <? if($wr_1 == '' || !$wr_1) { ?> style="border-radius:3px; background-color:#d4d4d4;"<? } else { } ?>>전체</a>
    <? for($i = 0; $i < count($cat1); $i++) { ?>
    <li style="padding:3px">
      <a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&wr_1=<?=$cat1[$i]?>&sfl='wr_1'&stx='<?=$cat1[$i]?>'" class="c_<?=$i?>" id="bo_cate_on"
      <? if($wr_1 == $cat1[$i]) { ?> style="border-radius:3px; background-color:#d4d4d4;"<? } else { } ?>> <?=$cat1[$i]?></a>
      <!-- 2차 메뉴 -->
      <ul style="border:0px solid red">
        <? for($j=0; $j<count($cat2[$i]); $j++) { ?>
        <li>
          <a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&wr_1=<?=$cat1[$i]?>&wr_2=<?=$cat2[$i][$j]?>&sfl='wr_2'&stx='<?=$cat2[$i][$j]?>'"
          <? if($wr_2==$cat2[$i][$j]) { ?> style="background-color:#3D3D3D;color:#fff;"<? } else { } ?>><?=$cat2[$i][$j]?></a>
        </li>
        <? } ?>
      </ul>
    </li>
    <? } ?>
  </ul>
</nav>
<? } ?>

로 바꿔줍니다.
또 하단 검색 부분에서

<input type="text" name="stx" value="stripslashes($stx):'' ?>" required id="stx" class="sch_input" size="25" maxlength="20" placeholder="검색어를 입력해주세요">

이 부분을

<input type="text" name="stx" value="<?= ($wr_1  && $wr_1 !== $stx && $wr_2  && $wr_2 !== $stx)?stripslashes($stx):'' ?>" required id="stx" class="sch_input" size="25" maxlength="20" placeholder="검색어를 입력해주세요">

로 바꿔 주면 정상적으로 total_count 수와 페이지네이션이 해결되는 것 같습니다.
전체 2,436 |RSS
그누보드5 스킨 내용 검색

회원로그인

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