게시판 분류 사용시 해당분류만 나오는게 아니라 분류별 순차적으로 나오게 가능한가요? 채택완료
게시판 분류 사용시 해당분류만 나오는게 아니라 분류별 순차적으로 나오게 가능한가요?
예를 들어 분류명을 1 2 3 4 5 로 하고 각각의 분류별로 1개의 게시물이 있다면
분류선택시 각각의 분류별 1개의 게시물이 출력되는게 아니라 아래처럼 순차적으로 나오게 가능한가요?
[분류1]을 선택했을땐 [분류1]의 1개의 게시물 출력
[분류2]를 선택했을땐 [분류1]과, [분류2]의 2개의 게시물이 출력
[분류3]을 선택했을땐 [분류1]과, [분류2], [분류 3] 이렇게 3개의 게시물이 출력되게 가능한가요?
답변 2개
bbs/list.php 나 common.lib.php get_sql_search() 함수를 고쳐야 하는데
전체 게시판에 적용되니 비추고요
bbs/list.php 파일을
사용할 게시판 스킨으로 복사하고
list.skin.php 파일 상단에 include 해줍니다
</p>
<p>include_once($board_skin_path."/list.php");</p>
<p>
복사한 스킨명/list.php 파일을 수정합니다
$sql_search = get_sql_search($sca, $sfl, $stx, $sop); 구문 아래...
제대로 하려면 저 라인을 주석처리하고
함수를 복사해서 커스텀하거나 해야겠지만
매우 귀찮으므로
$sql_search 에서 원하는 쿼리문으로 replace 합니다
</p>
<p>// (생략).......</p>
<p> </p>
<p> $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
if ($sca) {
$tmp = explode('|', $board['bo_category_list']);
$foo = array_search($sca, $tmp);
$bar = array_slice($tmp, 0, $foo + 1);
$sir = " ca_name IN ('".implode("','", $bar)."') ";
$sql_search = preg_replace("% ca_name = '[^']+' %", $sir, $sql_search);
unset($tmp, $foo, $bar, $sir);
echo $sql_search;
}
// (생략).......</p>
<p> </p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
멋지십니다~ 능력자~^^
적용시켰더니 잘되긴 하는데
지정되어있던 리스트정렬 순으로 안나오고 기본정렬로 되어버리는데 정렬을 수정하려면 어떻해야 하는지...^^;;;
ca_name desc 분류명 내림차순 나와야하는데 ^^;;
답변에 대한 댓글 2개
ca_name desc 면
분류가 a|b|c일때 c b a
분류가 a|c|b일때 c b a
이렇게 되겠죠?
분류가 a|c|b일때 a c b
이렇게 나오는 걸 원하시나요?
그럼 관리자에서 설정으로는 쪼금 애로사항이 있고
list.php $sql_order 를 직접 수정해야하는데요
제가 작성한 코드중에
$tmp = explode('|', $board['bo_category_list']);
배열을 활용해서
(제가 아래 unset 시켰는데 유의미한 변수명으로 바꾸시고 unset 하지 않고)
order by filed(ca_name, '".implode("','", $tmp)."')
--> 결과값 order by field(ca_name, 'a', 'c', 'b')
이렇게 해주면 a c b
카테고리 지정순으로 정렬됩니다
물론 카테고리를 사용하는지 카테고리가 지정됐는지 체크해야겠고요
같은 카테고리의 우선 순위도 지정을 해야겠죠?
검색값이 있을때와 없을때가 정렬이 달라야 하나요?
이건 제가 설명하는 것보다 쿼리문을 이해하는게 정신건강에 좋을 것 같습니다
제가 알려드릴 수 있는 건 order by field() 까지~!
질문을 제대로 이해했는지 모르겠네요
제가 입력해두었던 분류를
3|2|1| 에서 1|2|3 으로 바꾸기만 하면 되는 거였는데 ^^;;;;;
간단한걸 제가 그만....번거롭게해드렸네요
정말 많은 도움 되었습니다.
프로그램이 정말 공부하기가 어렵더라구요~
옆에서 누가 갈켜줄수도 없는거고 혼자 찾아서 하다보니
맞는길로 가고 있는건지...가다가 막히는 것도 많고 ㅋㅋㅋ
전문가분들을 보면 정말 존경스럽습니다~ ^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
멋지십니다~^^