여분필드로 리스트 정렬 시 전체 카테고리에서는 적용이 안되는데 채택완료

전체 | A | B

이렇게 카테고리 네비가 있을때

여분필드로 리스트 정렬 시 A나 B 카테고리를 찍으면 적용이 되는데

전체 카테고리에서는 적용이 안되는데

방법이 없나요?

링크자체에 &sst=wr_1&sod=desc 써도 전체 카테고리에서는 적용이 안되네요 ㅠ

답변 1개

채택된 답변
+20 포인트

bbs/list.php

// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst) {
    if ($board['bo_sort_field']) {
        $sst = $board['bo_sort_field'];
    } else {
        $sst  = "wr_num, wr_reply";
        $sod = "";
    }
} else {
    $board_sort_fields = get_board_sort_fields($board, 1);
    if (!$sod && array_key_exists($sst, $board_sort_fields)) {
        $sst = $board_sort_fields[$sst];
    } else {
        // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
        // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
        // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
        $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
    }
}
 

여기서

$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";

wr_nogood 처럼 wr_1을 추가해 보세요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

이미 추가되어 있는데 안됩니다 ㅠ
정말 그런지
bbs/list.php에서 query문을 echo로 출력해서 확인해 보세요.
select * from new_write_event where wr_is_comment = 0 and wr_id not in (120, 119, 118, 117, 116, 100, 105, 83, 112) order by wr_5 desc, wr_num, wr_reply limit 0, 6

전체 카테고리 상태에서 query 하면 위처럼 뜹니다. 여분필드가 wr_5인데 쿼리문에는 나오고 있어요
order by wr_5가 있는데

list.skin.php에 $list에는 다른 순서로 나오다면

$list변수를 계속 추적해 보는 수밖에 없겠네요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고