안녕하세요.
이전에 이와 비슷한 질문을 올린 적이 있었는데 너무 오래되었고, 그 때 답변을 주셨었는데 혼자 작업해보니 생각보다 잘 해결되지 않아 다시 질문을 올려서 여쭤보려고합니다.
현재 아래와 같은 구성을 준비중에 있습니다.
A팀, B팀, C팀은 kboard 게시판에서 카테고리로 설정하려고 합니다.
이렇게 한 게시판 안에서 카테고리별로 다르게 정렬하는 방법을 구성할 수 있을까요?
이전에 add_action()을 통해 DB쿼리문의 SELECT절을 편집하면 되고,
kboard_list_from과 kboard_list_where을 편집하면 된다고 하셨는데, 사실 이 내용을 제대로 이해하지 못했습니다.
가능하시다면 예제 코드를 하나 보여주실 수 있으실까요?
감사합니다. 해당 카테고리 전체를 불러와서 display 시키려던게 의도였고, 아래쪽에 있는 장문의 긴 내용을 응용해서 적용하니 잘 작동합니다.
안녕하세요~^^
우선 단순하게 불러오는 게시판 목록 자체에서
위 레이아웃으로 정렬하시려는 것인지
불러오는 것 자체를 정렬하려는 것인지
혹은 각 카테고리 별로 최신글들을 불러오려고 하는 것인지
정하셔야 할 듯 합니다.
목록 내에서 카테고리를 나누고자 하신다면
list.php 파일의 while 문 안에서 조건문으로 정리해볼 수 있을 듯 합니다.
<?php
<?php while($content = $list->hasNext()):?>
...
if($content->category1 == ''){
// 코드 입력
}
...
<?php endwhile?>
?>
해당 카테고리 전체를 불러오시려면
KBContentList 클래스의 인스턴스를 새로 생성해주셔야 합니다.
아래의 코드를 참고하여 적용해보시겠어요?
<?php
$new1 = new KBContentList($board->id);
$new1->category1('1번 카테고리');
$new1->getList();
?>
<table>
<tbody>
<?php while($content = $new1->hasNext()):?>
<tr class="kboard-list-notice<?php if($content->uid == kboard_uid()):?> kboard-list-selected<?php endif?>">
<td class="kboard-list-title">
<a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toString()?>">
<div class="kboard-default-cut-strings">
<?php if($content->isNew()):?><span class="kboard-default-new-notify">New</span><?php endif?>
<?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
<?php echo $content->title?>
<span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
</div>
</a>
</td>
<td class="kboard-list-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></td>
<td class="kboard-list-date"><?php echo $content->getDate()?></td>
<td class="kboard-list-vote"><?php echo $content->vote?></td>
<td class="kboard-list-view"><?php echo $content->view?></td>
</tr>
<?php endwhile?>
</tbody>
</table>
<?php
$new2 = new KBContentList($board->id);
$new2->category1('B');
$new2->getList();
?>
<table>
<tbody>
<?php while($content = $new2->hasNext()):?>
<tr class="kboard-list-notice<?php if($content->uid == kboard_uid()):?> kboard-list-selected<?php endif?>">
<td class="kboard-list-title">
<a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toString()?>">
<div class="kboard-default-cut-strings">
<?php if($content->isNew()):?><span class="kboard-default-new-notify">New</span><?php endif?>
<?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
<?php echo $content->title?>
<span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
</div>
</a>
</td>
<td class="kboard-list-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></td>
<td class="kboard-list-date"><?php echo $content->getDate()?></td>
<td class="kboard-list-vote"><?php echo $content->vote?></td>
<td class="kboard-list-view"><?php echo $content->view?></td>
</tr>
<?php endwhile?>
</tbody>
</table>
코드를 적용하기 어려우시다면
최신글 보기를 활용해볼 수도 있습니다.
최신글 보기에는 카테고리 별로 불러오는 파라미터가 있으므로
해당 기능을 활용하는 방안도 고려해보시겠어요?
고맙습니다.