퓨어갤러리 스킨 사용 중 입니다. 다름이 아니라
https://www.cosmosfarm.com/threads/document/26515 이 곳의 방법으로 카테고리가 두 개 나타나는 것은 성공했습니다만 문제가 있습니다.
게시판 목록 및 관리 - 카테고리 선택 - 기본 카테고리 사용 시에는 모든 depth 의 카테고리가 보여집니다. 그러나 글쓰기 화면에서는 기본 카테고리 선택은 정상 작동하지만 계층형 카테고리 선택이 비활성화되어 지정할 수 없게 됩니다.
하지만 계층형 카테고리 사용 으로 설정 시에는 글쓰기 화면에서 정상적으로 카테고리 지정이 가능합니다만 게시판 리스트 화면에서 기본카테고리는 여전히 정상적으로 표현되지만 계층형 카테고리는 1depth 까지만 선택할 수 있게 됩니다. (가장 상위의 카테고리 선택만 뜨고 하위 카테고리는 선택이 뜨지 않습니다.)
퓨어갤러리의 list 파일을 수정한 코드 입니다.
<?php
echo $skin->load($board->skin, "list-category-default.php", $vars);
echo $skin->load($board->skin, "list-category-tree-tab.php", $vars);
?>
function.php 에 추가한 코드 입니다.
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;
}
1. 기본카테고리와 계층형 카테고리의 모든 depth가 나타나면서, 글쓰기 화면에서도 문제가 생기지 않게 하는 방법 과
2. 여러 개의 보드에서 가능하게끔 하려면 어떻게 해야하나요? 비슷한 기존 스레드에서 in_array 방법을 참고하여 적용했으나 에러가 생겨 일일히 if 문으로 복사 붙여넣기 해서 사용했습니다.
안녕하세요~^^
KBoard 플러그인에서 카테고리는
기본적으로 기본 카테고리, 계층형 카테고리 둘 중 하나만 선택해서 사용하실 수 있습니다.
동시에 사용하는 건 현재 지원하지 않고 있습니다.
입력 필드를 활용하는 방법을 고려해보시겠어요?
KBoard(케이보드) 입력 필드 검색 방법 - 워드프레스 게시판 커스터마이징
기본 카테고리 및 계층형 카테고리 동시 사용은 저희도 연구해보겠습니다.
고맙습니다.