코스모스팜 스레드

kboard 카테고리관련해서 질문드립니다.

기본카테고리와 계층형 카테고리를 둘다 사용할수는 없나요.

 

기본카테고리 사용하고

밑에 계층형카테고리를 사용하거나 아니면

계층형 쓰고 밑에 기본카테고리 하는하는 방식으로는 표현이 어렵나요?

무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
  • ㅈㅓ도 너무 궁금해요

    blog 페이지 위에 드롭다운을 만들고싶어요 ㅠㅠㅠㅠ 글들이 분류 될 수 있게...ㅠ

    이거 어디서 하는지 알려주심 진짜 복받으실거에ㅐ요... 

  • 안녕하세요~^^

    KBoard 플러그인에서 기본 카테고리와 계층형 카테고리를 동시에 사용하시려면

    설정 및 스킨 파일을 수정해주셔야 합니다.

    스킨마다 적용 방법이 다르니 천천히 보신 후 테스트해보시겠어요?

     

    1. /wp-content/plugins/kboard/skin/사용중인스킨/list.php 파일에

    아래의 코드를 찾아서

    <?php
    if($board->use_category == 'yes'){
    	if($board->isTreeCategoryActive()){
    		$category_type = 'tree-select';
    	}
    	else{
    		$category_type = 'default';
    	}
    	$category_type = apply_filters('kboard_skin_category_type', $category_type, $board, $boardBuilder);
    	echo $skin->load($board->skin, "list-category-{$category_type}.php", $vars);
    }
    ?>

    아래의 코드로 교체해보시겠어요?

    <?php
    echo $skin->load($board->skin, "list-category-default.php", $vars);
    echo $skin->load($board->skin, "list-category-tree-tab.php", $vars);
    ?>

    위의 코드는 게시판 목록 페이지에서 기본 카테고리 밑에 계층형 카테고리를 표시하는 코드입니다.

    계층형 카테고리 밑에 기본 카테고리를 표시하시려면

    아래의 코드로 교체해보시겠어요?

    ​<?php
    echo $skin->load($board->skin, "list-category-default.php", $vars);
    echo $skin->load($board->skin, "list-category-tree-tab.php", $vars);
    ?>

     

    2. 최신 버전의 KBoard 플러그인의 기본 스킨을 사용 중이시라면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지 하단에

    아래의 코드를 추가해보시겠어요?

    add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);
    function my_kboard_get_template_field_html($field_html, $field, $content, $board){
    	if($board->id == '1'){
    		if($field['field_type'] == 'category1'){
    			ob_start();
    			?>
    			<?php if($board->initCategory1()):?>
    			<div class="kboard-attr-row">
    				<label class="attr-name" for="kboard-select-category1"><?php echo __('Category', 'kboard')?>1</label>
    				<div class="attr-value">
    					<select id="kboard-select-category1" name="category1">
    						<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    						<?php while($board->hasNextCategory()):?>
    						<option value="<?php echo $board->currentCategory()?>"<?php if($content->category1 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    						<?php endwhile?>
    					</select>
    				</div>
    			</div>
    			<?php endif?>
    			<?php if($board->initCategory2()):?>
    			<div class="kboard-attr-row">
    				<label class="attr-name" for="kboard-select-category2"><?php echo __('Category', 'kboard')?>2</label>
    				<div class="attr-value">
    					<select id="kboard-select-category2" name="category2">
    						<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    						<?php while($board->hasNextCategory()):?>
    						<option value="<?php echo $board->currentCategory()?>"<?php if($content->category2 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    						<?php endwhile?>
    					</select>
    				</div>
    			</div>
    			<?php endif?>
    			<div class="kboard-attr-row">
    				<label class="attr-name" for="kboard-tree-category"><?php echo __('Category', 'kboard')?></label>
    				<div class="attr-value">
    					<?php for($i=1; $i<=$content->getTreeCategoryDepth(); $i++):?>
    					<input type="hidden" id="tree-category-check-<?php echo $i?>" value="<?php echo $content->option->{'tree_category_'.$i}?>">
    					<input type="hidden" name="kboard_option_tree_category_<?php echo $i?>" value="">
    					<?php endfor?>
    					<div class="kboard-tree-category-wrap"></div>
    				</div>
    			</div>
    			<?php
    			$field_html = ob_get_clean();
    		}
    		else if($field['field_type'] == 'category2' || $field['field_type'] == 'tree_category'){
    			$field_html = '';
    		}
    	}
    	
    	return $field_html;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

     

    최신 버전의 KBoard 플러그인의 기본 스킨이 아니라면

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/editor.php 파일에

    아래의 코드를 찾아서

    <?php if($board->use_category):?>
    	<?php if($board->isTreeCategoryActive()):?>
    		<div class="kboard-attr-row">
    			<label class="attr-name" for="kboard-tree-category"><?php echo __('Category', 'kboard')?></label>
    			<div class="attr-value">
    				<?php for($i=1; $i<=$content->getTreeCategoryDepth(); $i++):?>
    				<input type="hidden" id="tree-category-check-<?php echo $i?>" value="<?php echo $content->option->{'tree_category_'.$i}?>">
    				<input type="hidden" name="kboard_option_tree_category_<?php echo $i?>" value="">
    				<?php endfor?>
    				<div class="kboard-tree-category-wrap"></div>
    			</div>
    		</div>
    	<?php else:?>
    		<?php if($board->initCategory1()):?>
    		<div class="kboard-attr-row">
    			<label class="attr-name" for="kboard-select-category1"><?php echo __('Category', 'kboard')?>1</label>
    			<div class="attr-value">
    				<select id="kboard-select-category1" name="category1">
    					<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    					<?php while($board->hasNextCategory()):?>
    					<option value="<?php echo $board->currentCategory()?>"<?php if($content->category1 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    					<?php endwhile?>
    				</select>
    			</div>
    		</div>
    		<?php endif?>
    		<?php if($board->initCategory2()):?>
    		<div class="kboard-attr-row">
    			<label class="attr-name" for="kboard-select-category2"><?php echo __('Category', 'kboard')?>2</label>
    			<div class="attr-value">
    				<select id="kboard-select-category2" name="category2">
    					<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    					<?php while($board->hasNextCategory()):?>
    					<option value="<?php echo $board->currentCategory()?>"<?php if($content->category2 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    					<?php endwhile?>
    				</select>
    			</div>
    		</div>
    		<?php endif?>
    	<?php endif?>
    <?php endif?>

    아래의 코드로 교체해보시겠어요?

    <div class="kboard-attr-row">
    	<label class="attr-name" for="kboard-tree-category"><?php echo __('Category', 'kboard')?></label>
    	<div class="attr-value">
    		<?php for($i=1; $i<=$content->getTreeCategoryDepth(); $i++):?>
    		<input type="hidden" id="tree-category-check-<?php echo $i?>" value="<?php echo $content->option->{'tree_category_'.$i}?>">
    		<input type="hidden" name="kboard_option_tree_category_<?php echo $i?>" value="">
    		<?php endfor?>
    		<div class="kboard-tree-category-wrap"></div>
    	</div>
    </div>
    <?php if($board->initCategory1()):?>
    <div class="kboard-attr-row">
    	<label class="attr-name" for="kboard-select-category1"><?php echo __('Category', 'kboard')?>1</label>
    	<div class="attr-value">
    		<select id="kboard-select-category1" name="category1">
    			<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    			<?php while($board->hasNextCategory()):?>
    			<option value="<?php echo $board->currentCategory()?>"<?php if($content->category1 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    			<?php endwhile?>
    		</select>
    	</div>
    </div>
    <?php endif?>
    <?php if($board->initCategory2()):?>
    <div class="kboard-attr-row">
    	<label class="attr-name" for="kboard-select-category2"><?php echo __('Category', 'kboard')?>2</label>
    	<div class="attr-value">
    		<select id="kboard-select-category2" name="category2">
    			<option value=""><?php echo __('Category', 'kboard')?> <?php echo __('Select', 'kboard')?></option>
    			<?php while($board->hasNextCategory()):?>
    			<option value="<?php echo $board->currentCategory()?>"<?php if($content->category2 == $board->currentCategory()):?> selected<?php endif?>><?php echo $board->currentCategory()?></option>
    			<?php endwhile?>
    		</select>
    	</div>
    </div>
    <?php endif?>

    고맙습니다.

  • blog 페이지는 KBoard 게시판 페이지를 말씀하시는 건지요?

    KBoard 플러그인에서 기본 카테고리나 계층형 카테고리에서 드롭다운은 기본 기능으로 지원하지 않고 있습니다.

    계층형 카테고리의 드롭다운은 코드를 수정해주셔야 합니다.

    아래의 링크를 참고해보시겠어요?

    계층형 카테고리 문의입니다. (드롭다운 메뉴 형태)

    고맙습니다.

  • 감사합니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)