url에서 복수의 카테고리를 지정하고 그에 해당하는 문서 목록을 가져오는 방법이 있다고 쓴 적이 있었는데요.
https://xetown.com/topics/1675320
이번에 게시판 확장변수 다중검색 애드온을 업데이트하면서 해당 기능도 함께 넣어놨습니다.
검색 기능의 확장이란 측면에서 함께 사용하면 좋겠더라구요 :)
* 준비해야 할 것
- 먼저 앞에서 링크한 애드온을 적용합니다.
- 게시판 관리의 '하단 내용'에 관련 스크립트 코드를 삽입합니다.
* 적용
- 애드온 설정은 따로 설명하진 않겠습니다ㅎ
- 그리고 스케치북 스킨을 기준으로 아래의 코드를 게시판 관리의 '하단 내용' 부분에 삽입합니다.
<script> if ( $('.cnb_n_list').length > 0 ) { if ( !current_url.getQuery('category_srl') ) { $('.cnb_n_list li').eq(0).addClass('on'); } else { $('.cnb_n_list li').eq(0).removeClass('on'); $('.cnb_n_list li a').each(function(i) { if ( i === 0 ) { return true; } var category_srl = $(this).attr('href').match(/category[=|\/](\d+)/)[1]; if ( current_url.getQuery('category_srl').indexOf(category_srl) !== -1 ) { $(this).parent('li').addClass('on'); } else { $(this).parent('li').removeClass('on'); } }); } $('.cnb_n_list li a').on('click', function() { if ( $(this).closest('li').index() === 0 ) { location.href = current_url.setQuery('category_srl', ''); return false; } else { var category_srl = $(this).attr('href').match(/category[=|\/](\d+)/)[1]; if ( !current_url.getQuery('category_srl') ) { location.href = current_url.setQuery('category_srl', category_srl); } else { if ( current_url.indexOf(category_srl) !== -1 ) { var category_srls = current_url.getQuery('category_srl').split(','); for ( var i = 0; i < category_srls.length; i++ ) { if ( category_srls[i] === category_srl ) { category_srls.splice(i, 1); i--; } }; location.href = current_url.setQuery('category_srl', category_srls.join(',')); } else { location.href = current_url.setQuery('category_srl', current_url.getQuery('category_srl') + ',' + category_srl); } } return false; } }); } </script>
* 결과
- category가 아니라 category_srl을 파라미터로 해서 '다수의' 분류 번호를 불러오는 게 가능해집니다.
- 분류 링크를 클릭하면 해당 분류의 선택/취소가 가능합니다.
* 주의
- 위의 소스는 스케치북을 기준으로 코딩을 한 것이기 때문에, 사용 중이신 스킨에 따라 요소 포착을 잘 해주어야 합니다.