게시판 2단 분류 > 그누보드5 팁자료실

그누보드5 팁자료실

게시판 2단 분류 정보

게시판 2단 분류

본문

// 관리자에서 1차 카타고리 등록 : 과일|도시
// 2차 분류는 여분필드 wr_1 사용

// /skin/board/basic/list.skin.php 하단 삽입
<script>
var cate = [];
var cate1 = '';
var m = /(stx=)(.+)/.exec(location.href);
var cate2 = m ? decodeURIComponent(m[2]) : ''; // 2차 분류값
var html = '';

cate['과일'] = ['사과', '복숭아', '포도'];
cate['도시'] = ['서울', '부산', '대구'];

$('#bo_cate_ul li').each( function(i) {
var val = $(this).text();
var k = i ? val : '';
var selected =  '';

if (val.indexOf('열린 분류 ') > -1) {
selected = 'selected';
val = val.replace(/열린 분류 /, '');
cate1 = val;
}
html += '<option value="' + k + '"' + selected + '>' + val + '</option>';
})

$('#bo_cate_ul').html('<select name="sca" id="sca">' + html + '</select');
$('#sca').after(' <span id="cate2"></span> <input type="button" id="cate_sh" value="검색" />');

// 1차분류 선택
if (location.href.indexOf('sfl=wr_1&stx=') > -1) {
    for (var i in cate) {
        if (cate[i].indexOf(cate2) > -1) {
            $('#sca').val(i);
            cate1 = i;
            break;
        }
    }
}

getCate(cate1, cate2);

// 2차 분류
function getCate(cate1, cate2 = '') {
    if (!cate1) return;
    var html = '<select name="wr_1" id="wr_1"><option value="">전체</option>';
    for (var j in cate[cate1])  {
        var val = cate[cate1][j], selected = val == cate2 ? 'selected' : '';
        html += '<option value="' + val + '"' +selected + '>' + val + '</option>';
    }
    $('#cate2').html(html + '</select>');
}

$('#sca').on('change', function() {
getCate(this.value);
});

$('#cate_sh').on('click', function() {
if ($('#wr_1').val())
location.href = location.href.replace(/&(sfl|stx|sca)=[^&]+/g, '') + '&sfl=wr_1&stx=' + $('#wr_1').val();
else
location.href = location.href.replace(/&(sfl|stx|sca)=[^&]+/g, '') + '&sca=' + $('#sca').val();
});
</script>



// /skin/board/basic/write.skin.php 하단 삽입
<script>
var cate = [], cate1 = '<?php echo $ca_name ?>', cate2 = '<?php echo $wr_1 ?>';

cate['과일'] = ['사과', '복숭아', '포도'];
cate['도시'] = ['서울', '부산', '대구'];
$('#ca_name').after(' <span id="cate2"></span>');
getCate(cate1, cate2);

// 2차 분류
function getCate(cate1, cate2 = '') {
    if (!cate1) return;
    var html = '<select name="wr_1" id="wr_1"><option value="">전체</option>';
    for (var j in cate[cate1])  {
        var val = cate[cate1][j], selected = val == cate2 ? 'selected' : '';
        html += '<option value="' + val + '"' +selected + '>' + val + '</option>';
    }
    $('#cate2').html(html + '</select>');
}

$('#ca_name').on('change', function() {
getCate(this.value);
});
</script>
추천
3

댓글 15개

슈와이님 좋은자료 감사합니다^^

한가지 문의 드립니다

게시판2단 분류를
3단 이나 4단... 등  여러개의 분류를 더 추가하여
여러개 분류 사용 할수 있을까요?
가능하다면 어떻게 적욘 할수 있을까요?
감사합니다^^*
Not Found
The requested URL /&sfl=wr_1&stx=사과 was not found on this server.

위와 똑같이 적용 하여 검색을 누르니 이런 에러가 나오네요.. 혹시 어떤것을 수정해야 할런지요
2차분류값이 db에는 저장되어있는데,
글 수정하기에서는 기존에 입력한 2차분류가 선택되어있지않고, 전체로 되어있어요.
선택된 2차분류값이 글 수정하기시에 2차분류값이 선택되어있게 할 수는 없나요
전체 2,427 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT