카테고리 추가 문의

기본으로 제공되는 카테고리1과 카테고리2 외에 카테고리3을 추가하고 싶습니다.

과거 질문들을 찾아보았지만 해결 할 수가 없네요.

혹시 구매하는 스킨중에서 카테고리3을 추가할 수 있는지요?

아니면 직접 수정할 수 는 없을까요?

 

2013년에 답변을 참고해서 KBContentList.class.php에

  if($this->col_category1) $where[] = "`category1` LIKE '$this->col_category1'";
  if($this->col_category2) $where[] = "`category2` LIKE '$this->col_category2'";

아래에  if($this->col_category3) $where[] = "`category3` LIKE '$this->col_category3'"; 를 추가해도

게시판관리 페이지에서는 카테고리1과 카테고리2만 보입니다.

해결방법을 꼭 부탁드립니다.

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 답변 감사합니다.

    그런데요... 잘 모르겠습니다.

    kboard_board_content 테이블에 category3을 추가 - 데이터베이스 테이블을 수정하려면 어떻게 해야할지...

    kboard_insert_data, kboard_update_data 필터를 사용해서 category3 값을 추가 - 어디에 어떻게 추가하는지요?

    죄송하지만... 방법을 좀 더 자세하게 알려 주시면 감사하겠습니다.

  • category3은 없습니다.

    그렇기 때문에 데이터베이스 테이블을 수정하고 프로그램 코드도 추가해주셔야 합니다.

    게시글 정보가 저장되는 데이터베이스의 kboard_board_content 테이블에도 category1, category2만 있기 때문에 코드를 추가해도 동작하지 않습니다.

    kboard_board_content 테이블에 category3을 추가 하시고

    kboard_insert_data, kboard_update_data 필터를 사용해서 category3 값을 추가해주세요.

    http://www.cosmosfarm.com/products/kboard/hooks

     

    도움이 될 지 모르겠지만 입력필드 추가하는 방법도 참고해주세요.

    http://blog.naver.com/chan2rrj/50173560012

  • class폴더와 page폴더 및 skin폴더내의 php파일들을 모두 열어 category부분에 모두 추가해주었지만 여전히 안되네요.

     

    kboard.class.php파일중에 아래부분을 수정해 주어야 할것 같은데(잘은 모르지만 이부분이 걸리네요) 어떻게 해야할지 모르겠습니다....

     /**
      * 카테고리 정보를 초기화 한다.
      */
     public function initCategory1(){
      $this->category = explode(',', $this->category1_list);
      return $this->category1_list;
     }
     
     /**
      * 두번째 카테코리 정보를 초기화 한다.
      */
     public function initCategory2(){
      $this->category = explode(',', $this->category2_list);
      return $this->category2_list;
     }
     
     /**
      * 세번째 카테코리 정보를 초기화 한다.
      */
     public function initCategory3(){
      $this->category = explode(',', $this->category3_list);
      return $this->category3_list;
     }
     
     /**
      * 다음 카테고리 정보를 반환한다.
      * @return object
      */
     public function hasNextCategory(){
      if(!$this->category) $this->initCategory1();
      $this->category_row = current($this->category);
      
      if(!$this->category_row) unset($this->category);
      else next($this->category);
      
      return $this->category_row;
     }
     
     /**
      * 카테고리 정보를 반환한다.
      */
     public function currentCategory(){
      return $this->category_row;
     }
     
     /**

  • skin폴더에 list.php에도 추가해보았지만 아직 해결이 안되네요....

    <div id="kboard-default-list">

     <!-- 검색폼 시작 -->
     <div class="kboard-header">
      <form id="kboard-search-form" method="get" action="<?php echo $url->set('mod', 'list')->toString()?>">
       <?php echo $url->set('category1', '')->set('category2', '')->set('category3', '')->set('pageid', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toInput()?>
       
       <?php if($board->use_category == 'yes'):?>
       <div class="kboard-category">
        <?php if($board->initCategory1()):?>
         <select name="category1" onchange="jQuery('#kboard-search-form').submit();">
          <option value=""><?php echo __('All', 'kboard')?></option>
          <?php while($board->hasNextCategory()):?>
          <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category1'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
          <?php endwhile?>
         </select>
        <?php endif?>
        
        <?php if($board->initCategory2()):?>
         <select name="category2" onchange="jQuery('#kboard-search-form').submit();">
          <option value=""><?php echo __('All', 'kboard')?></option>
          <?php while($board->hasNextCategory()):?>
          <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category2'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
          <?php endwhile?>
         </select>
        <?php endif?>
                   
        <?php if($board->initCategory3()):?>
         <select name="category3" onchange="jQuery('#kboard-search-form').submit();">
          <option value=""><?php echo __('All', 'kboard')?></option>
          <?php while($board->hasNextCategory()):?>
          <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category3'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
          <?php endwhile?>
         </select>
        <?php endif?>
                   
       </div>
       <?php endif?>

  • page폴더에 kboard_setting.php에도 카테고리3을 추가해 보았습니다.

    <tr valign="top">
          <th scope="row"><label for="category1_list">카테고리1</label></th>
          <td>
           <input type="text" style="width: 350px;" name="category1_list" id="category1_list" value="<?php echo $board->category1_list?>">
           <p class="description">카테고리를 입력하세요. 여러 카테고리를 입력하실 경우 콤마(,)로 구분됩니다.</p>
          </td>
         </tr>
         <tr valign="top">
          <th scope="row"><label for="category2_list">카테고리2</label></th>
          <td>
           <input type="text" style="width: 350px;" name="category2_list" id="category2_list" value="<?php echo $board->category2_list?>">
           <p class="description">카테고리를 입력하세요. 여러 카테고리를 입력하실 경우 콤마(,)로 구분됩니다.</p>
          </td>
         </tr>

         <tr valign="top">
          <th scope="row"><label for="category3_list">카테고리3</label></th>
          <td>
           <input type="text" style="width: 350px;" name="category3_list" id="category3_list" value="<?php echo $board->category3_list?>">
           <p class="description">카테고리를 입력하세요. 여러 카테고리를 입력하실 경우 콤마(,)로 구분됩니다.</p>
          </td>
         </tr>

    이렇게 했더니 게시판관리 페이지에서는 카테고리3을 입력 할 수 있게 보이지만, 변경저장을 누르면 카테고리3번만 입력한 내용이 사라집니다.

    어디에서 답을 찾아야 할까요? ......

     

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요