묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
많은 분들이 저와 같은 고민을 하고 계신 듯 합니다. (아래 그림처럼 카테고리 검색하게 만들려고 하는데요)
나름대로 소스를 분석해서 해보았지만.. 내공이 부족..ㅠㅠ
list.html 파일에 select 박스를 강제로 집어넣고 자바스크립트 이용해서 검색되게 가능하더라구요.. 편법이죠..
문제는 글을 입력할때가 문제입니다. 하나의 select박스에서 밑으로.... ㅠ
나름대로 강제로 카테고리 번호로 if문을 돌려서 해볼려고 시도했으나.. 내공부족..ㅠ
혹시, 글 입력할때, 위와 같이 편법으로라도 해결되신 분들 계시면, 공유 좀 부탁드리겠습니다.
이것이 안되니, 더 이상 진도가 안나가네요.. ㅠㅠㅠㅠ
다중카테고리 때문에 더 이상 진도가 안나가네요..ㅠㅠ
2008.04.04 18:13
많은 분들이 저와 같은 고민을 하고 계신 듯 합니다. (아래 그림처럼 카테고리 검색하게 만들려고 하는데요)
나름대로 소스를 분석해서 해보았지만.. 내공이 부족..ㅠㅠ
list.html 파일에 select 박스를 강제로 집어넣고 자바스크립트 이용해서 검색되게 가능하더라구요.. 편법이죠..
문제는 글을 입력할때가 문제입니다. 하나의 select박스에서 밑으로.... ㅠ
나름대로 강제로 카테고리 번호로 if문을 돌려서 해볼려고 시도했으나.. 내공부족..ㅠ
혹시, 글 입력할때, 위와 같이 편법으로라도 해결되신 분들 계시면, 공유 좀 부탁드리겠습니다.
이것이 안되니, 더 이상 진도가 안나가네요.. ㅠㅠㅠㅠ
댓글 2
-
Dustwo
2008.04.12 05:09
-
곰이v
2012.10.23 13:55
안녕하세요 곰이v입니다.
멀티카테고리를 원하시는 분들이 많으신것 같아 제가 XE마켓에 올려두었습니다.
광고글로 보시기 보다는 소스수정이 힘드신 분들이 보셨으면 하는 바람으로 올려봅니다.
아래 링크는 멀티카테고리 상품으로 바로 가는 링크입니다.
꽤 예전인데 해결하셨는지 모르겠군요;
현재 제로보드가 기본으로 지원하는 부분에서 본다면 저런 형식은 불가능 합니다. 불가피하게 소스를 수정해야 합니다.
제로보드는 document 모듈에서 카테고리를 1차원 배열로 만든뒤 board 모듈로 넘겨줍니다. (너무 자유도가 떨어지네요;)
그래서 document에서 1차원으로 넘겨주는 부분과 board 에서 받는 부분을 수정하면 됩니다.
수정 방식은 기존의 1차원 배열로 만드는 것을 클래스로 변환하는 것입니다. (다중 배열을 제로보드 템플릿이 지원하는지 모르겠네요)
아래 함수들을 클래스로 만드는 것으로 수정하시면 될것 같습니다.
그리고 나서 HTML 파일에서 자바스크립트에 맞게 배열로 만들어서 '다중 셀렉트 스크립트'로 구현하면 되겠죠.
수정해야할 파일: modules/document/document.model.php, modules/board/board.view.php
수정해야할 부분:
document 모듈
function getCategoryList($module_srl) {
...생략...
// 카테고리의 정리
$document_category = array();
$this->_arrangeCategory($document_category, $menu->list, 0); // _arrangeCategory = 1차원 배열로 만드는 함수입니다.
$this->category_list[$module_srl] = $document_category;
...생략...
}
board 모듈
function dispBoardContent() {
...생략...
/**
* 카테고리를 사용하는지 확인후 사용시 카테고리 목록을 구해와서 Context에 세팅
**/
if($this->module_info->use_category=='Y') {
$oDocumentModel = &getModel('document');
Context::set('category_list', $oDocumentModel->getCategoryList($this->module_srl));
}
...생략...
}
function dispBoardWrite() {
...생략...
// 카테고리 목록을 구하고 권한을 체크 -- // 이 부분은 1차원 배열이기 때문에 변경하는 타입에 맞게 수정해야합니다.
$normal_category_list = $oDocumentModel->getCategoryList($this->module_srl);
if(count($normal_category_list)) {
foreach($normal_category_list as $category_srl => $category) {
$is_granted = true;
if($category->group_srls) {
$category_group_srls = explode(',',$category->group_srls);
$is_granted = false;
if(count(array_intersect($group_srls, $category_group_srls))) $is_granted = true;
}
if($is_granted) $category_list[$category_srl] = $category;
}
}
Context::set('category_list', $category_list);
...생략...
}