계층형 카테고리 관리 플러그인 (MC Tools)
링크
http://g5.twing.kr/bbs/group.php?gr_id=test (1004) http://g5.twing.kr/bbs/board.php?bo_table=tip (682)
예전에 그누에서 배포했던 4버전용 계층적 카테고리 http://sir.kr/g4_plugin/13175 를
5로 올리다보니.. 약간 삼천포가 빠져버린 느낌이 있긴 합니다만..
목적과 기능은 비슷합니다.
기존에는 카테고리 필드를 사용했는데 아무 확장필드 갯수제한없이 계층형 카테고리 데이타를
스킨수정없이 손쉽게 입,출력 리스팅을 사용하실 수 있습니다.
테스트 환경 : php 7.0, mysql 5.5, ie11, firefox, chrome
지원정도 : php 5.3 이상, mysql 5.1 이상, ie8 이상 (버그 있으면 알려주세요)
기능
- 확장필드만 사용합니다.
- 각 확장필드에 값을 적용할 수 있습니다. (멀티)
- 카테고리 입력 시작위치를 선택할 수 있습니다.
- 카테고리별 리스팅 지원 (리스팅할 필드만 선택가능)
- 자식 데이타가 있는경우 멀티 셀렉트박스 출력 지원
- 라디오,체크박스(멀티셀렉트) 출력지원
- 저장시 입력 휴효값 체크 지원
- 게시판 스킨 수정없이 관리자 설정만으로 바로 적용하여 사용하실 수 있습니다.
설치방법
- 압출해제후 mc 디렉토리를 그누보드 plugin 디렉토리에 업로드.
- /common.php 의 하단에
include_once G5_PLUGIN_PATH.'/mc/common.hook.php'; 추가
- /bbs/list.php 상단 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 다음에
//<<< MC Tools 가 설치되었고 확장겁색값이 있는경우 처리.
if(defined('MC') && $mc_search = mc_board($bo_table)->getSearchSql($_GET)){
include_once MC_PLUGIN_PATH . '/bbs.list.php';
return;
}
//>>>
추가
- mc 폴더안에 admin.menu800.php 파일을 /adm 폴더로 이동 (관리자모드 메뉴출력용)
- 관리자모드 접속후 MC Tools 메뉴에서 설정하시면 됩니다.
- 게시판 스킨 수정없이 사용하시던 게시판에 적용됩니다.
데모 : http://g5.twing.kr/bbs/group.php?gr_id=test
자세한 사용방법은 http://g5.twing.kr/bbs/board.php?bo_table=tip 를 참고하시기 바랍니다
5로 올리다보니.. 약간 삼천포가 빠져버린 느낌이 있긴 합니다만..
목적과 기능은 비슷합니다.
기존에는 카테고리 필드를 사용했는데 아무 확장필드 갯수제한없이 계층형 카테고리 데이타를
스킨수정없이 손쉽게 입,출력 리스팅을 사용하실 수 있습니다.
테스트 환경 : php 7.0, mysql 5.5, ie11, firefox, chrome
지원정도 : php 5.3 이상, mysql 5.1 이상, ie8 이상 (버그 있으면 알려주세요)
기능
- 확장필드만 사용합니다.
- 각 확장필드에 값을 적용할 수 있습니다. (멀티)
- 카테고리 입력 시작위치를 선택할 수 있습니다.
- 카테고리별 리스팅 지원 (리스팅할 필드만 선택가능)
- 자식 데이타가 있는경우 멀티 셀렉트박스 출력 지원
- 라디오,체크박스(멀티셀렉트) 출력지원
- 저장시 입력 휴효값 체크 지원
- 게시판 스킨 수정없이 관리자 설정만으로 바로 적용하여 사용하실 수 있습니다.
설치방법
- 압출해제후 mc 디렉토리를 그누보드 plugin 디렉토리에 업로드.
- /common.php 의 하단에
include_once G5_PLUGIN_PATH.'/mc/common.hook.php'; 추가
- /bbs/list.php 상단 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 다음에
//<<< MC Tools 가 설치되었고 확장겁색값이 있는경우 처리.
if(defined('MC') && $mc_search = mc_board($bo_table)->getSearchSql($_GET)){
include_once MC_PLUGIN_PATH . '/bbs.list.php';
return;
}
//>>>
추가
- mc 폴더안에 admin.menu800.php 파일을 /adm 폴더로 이동 (관리자모드 메뉴출력용)
- 관리자모드 접속후 MC Tools 메뉴에서 설정하시면 됩니다.
- 게시판 스킨 수정없이 사용하시던 게시판에 적용됩니다.
데모 : http://g5.twing.kr/bbs/group.php?gr_id=test
자세한 사용방법은 http://g5.twing.kr/bbs/board.php?bo_table=tip 를 참고하시기 바랍니다
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 60개
수고하셨습니다.
대부분 사용중인 아무 스킨에서나 스킨수정없이 바로 적용됩니다.
근데 제가 설치해서 사용하려는데...
게시판설정에서 저장컬럼 설정하고...데이타 브랜드 설정까지 했는데...
브랜드및에 2차 선택이 되지않습니다...
추가버튼을 누르면 출력할 카테고리 위치를 선택해 주세요라고 팝업창이 뜨는데...
왜이런걸까요? 바쁘시지만 답변해주시면 감사하겠습니다...꾸벅
요부분을 설정 안하신듯 합니다.
_common.php에 설정을 했었네요...
정말 감사드립니다...좋은스킨 잘쓰도록하겠습니다...
좋은하루되세요...*^^*
오래된 글인데 저두 같은 현상이라
common.php설정 방법좀 부탁합니다.
그런데 혹시 리스트부분에서요 카테고리 나온후 변경되면 변경된곳 명칭 나오는 코드소스가있을가요
mc/list_skin 안에 있는 파일에서 담당합니다.
select 이부분을요 따른곳에 넣고싶은데.
리스트부분에
<?php echo $list[$i]['subject'] ?> 이런식으로 나오게 할순 없나요 ?
예를 들어 게시물 작성시 지역을 [서울]로 설정을 하고, 검색시 지역선택을 체크박스에서[서울,경기,강원]을 선택을 하면 [서울]을 지정한 게시물은 검색이 되지 않습니다. 서울 or 경기 or 강원 지역의 모든 게시물이 검색이 되어야 하는데, 서울,경기,강원이 모두 선택이 되어 있는 게시물만 검색이 되어 집니다.
확인 부탁드립니다.
검색할때 공지글이 있으면 공지글 수만큼 숫자가 게시글번호가 생겨요...
공지글이 하나있을때 검색하면 맨마지막 숫자가 1일아니라 0으로
공지글이 두개가 있을때 검색하면 맨마지막 숫자가 -1로....
죄송하지만 해결할수있는 방법이 있을까요?
시일내 패치하도록 하겠습니다~
Fatal error: Call to a member function getChild() on a non-object in H:\phpStudy2016\WWW\gnu\plugin\mc\admin\config.php on line 92
관리자 페이지에서 설치를 눌러도 에러가 뜨고요...
무엇을 잘못한 걸까요...
그누 4부터 감사히 잘 쓰고 있습니다.
정말 최곱니다~
Warning: include_once(__DIR__/bootstrap.php): failed to open stream: No such file or directory in /home/jisoo15/www/plugin/mc/common.hook.php on line 6 Warning: include_once(): Failed opening '__DIR__/bootstrap.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/jisoo15/www/plugin/mc/common.hook.php on line 6
관리자 페이지에서 설치 누르면 나오는 에러
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/jisoo15/www/plugin/mc/admin/setup.php on line 12 Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/jisoo15/www/plugin/mc/admin/setup.php on line 12
php 5.3 이상 사용하셔야 하며 php7 에서 테스트되었습니다
하나 좀 수정해서 쓰려고하는데.. 몇시간을 해매다 문의드려봅니다.
예) 관리자에서 아래와 같이 구성하려고했을때..
.현대
.쏘나타
.제네시스
.기아
.K5
.K7
국영문 공통 게시판으로 하고 영문사이트일 경우 항목명만 영문명으로 나오게하려고 합니다.
예2)
.현대/hyundai
.쏘나타/sonata
.제네시스/genesis
.기아/KIA
.K5/K5
.K7/K7
영문일 경우~
explode 로 잘라서 뒤에 영문명만 option 값에 들어가도록 하려고합니다.
mc>list_skin>basic.php 쪽이 아닐까하고 보는데..
정작 어디를 수정해줘야할지 여기가 맞는건지도 모르겠네요 ㅡㅜ;
value 값은 변경하시면 안되고 text 값만 변경하셔야 하는데.. 이경우 검색시 location 은 value 값이 가겟지요.. 아에 초기값을 영문으로 하신고 basic 쪽에서 text 부분만 relpace 하시는 ㅉ고도 괜찮아보입니다
올려주신 소중한 자료 정말 적용은 이상없이 되는데요:)
혹시 select 클래스 부분에 자동번호 추출하려면 어떻게 해야할까요
두가지 디자인을 다르게 하고싶은데 기존에
<script>
$(function(){
$('.seop').eq(0).addClass('a01');
$('.seop').eq(1).addClass('a02');
});
</script>
또는
<?=$i+1?> 이걸 넣으면 클래스 끝부분에 숫자가 자동으로 1.2.3식으로 생성되어서
변경이 가능했는데요..!
올려주신 자료는 아무리 삽질해도 되지 않네요 ㅠㅠ
또 한가지가....
<?php echo $list[$i]['wr_1']?> 를 통하여 게시판에 노출하게되면
예를 들어 (자동차 오토바이 의류 등등)을 뽑아오면
일단은 잘 뽑아오지만 카테고리별 뒷부분에 .이 들어가서 나오네요...!
-> 자동차. 오토바이. 의류.
요부분은 점을 없애는 방법은 어떻게 해야할까요 ㅠㅠ
select[data-input=wr_1], select[data-input=wr_1] + select {
.. 스타일
}
이정도로 처리하시면 될듯 합니다
wr_1 은 테이블 여분플드명이구요
한개 필드에 속한 셀렉트박스는 여러개가 될수 있습니다(그룹개념)
셀박을 감싼 span 디자인을 원하시면
plugin/mc/list_skin/basic.php 35 라인이 wrap 부분입니다 (mc 리스트 출력부분 스킨입니다)
basic.php 를 원하시는 스키면 basic_cls.php 등으로 복사하신후 아래처럼 수정하시어 관리자에서 mc 리스트 스킨을 변경하시면 되겠습니다
echo '<span style="display:inline-block;padding:4px;background:#ddd;;margin:4px;line-height:100%;border:1px #999 solid;">';
요부분이 필드별 wrap 부분입니다
이부분은
echo '<span class="mc-list-field mc-list-field__'.$input->name.'">';
요렇게 잡으시고 css 에서
.mc-list-field__wr_1 {
}
이런식으로 하시면 wrap 디자인이 가능하겠네요
라디오방식도 있으므로
$input->type 을 활용해서
echo '<span class="mc-list-field mc-list-field--'.$input->type.' mc-list-field-'.$input->type.'-'.$input->name.'">';
요렇게 하시면
.mc-list-field{
공통 wrap
}
mc-list-field--select{
select 박스인경우 wrap 공통
}
mc-list-field--radio{
radio 박스인경우 wrap 공통
}
mc-list-field__wr_1 {
w_1 에 대한 셀렉트박스 wrap
}
로 처리하시면 css 접근이 용이할듯 보입니다
두번째는
<?php echo $list[$i]['wr_1']?>
<?php echo substr($list[$i]['wr_1'],0,-1);?>
또는
<?php echo str_replace('.', '', $list[$i]['wr_1']);?>
그런데 select 메뉴로 2단으로 하고 [예) 현대.쏘나타 ] 사이트에서 선택검색하면 결과는 맞게 나오지만 선택한 목록이 초기화되는데 저만 그런건지.. 어디가 문제인지 아무리봐도 모르겠습니다...ㅜㅜ
1단(현대)만 선택했을때는 선택한 목록이 유지되는데 2단(쏘나타)선택시 select목록이 유지되지 않아요.
참고사이트에 가서 보면 잘 되더라구요...
혹시 어느부분이 문제인지 알수 있을까요?
3depth로 사용하던중 간혹가다 게시물마다 다르게 1뎁스만 선택되는 경우도 있고 2뎁스까지만 선택되는 경우도 있더라구요. 리스트에서 검색을 할때도 마찬가지구요
mc/lib.php 에서
784줄의 getParents함수의 쿼리문중 정렬을 수정해주시면 됩니다.
ORDER BY A.lft ASC
->
ORDER BY A.lft ASC, B.lft ASC
createSelectbox 메쏘드내에
$html .= '<option value="">▒ ' . $attrs['caption'] ?: '선택하세요' . ' ▒</option>';
를
$html .= '<option value="">' . ($attrs['caption'] ?: '선택하세요') . '</option>';
로 수정하시면 됩니다
리스트에서 글자앞에 .. 뒷부분에 . 점박이 처리가되서나오는데 수정을 어디서하는지요
일반인이 글쓰고 수정할때 셀렉박스가 안보여요...
공유 하시기까지 고민 많으셨을텐데 더 대단함을 느낍니다
저 그런데 혹시 기능이 다되는데
제가 그누보드최신버젼이라서 그런건지 잘 모르겠는데
글쓰기를 누르면 해당 옵션들의 셀렉박스들이 뜨지않는데
혹시 어떠한 곳이 추측이 가시는지 여쭤드려도될까요.. ㅠㅠ
과거 백업하신 것이 있으시면 그쪽을 통해 복구해 보시기 바랍니다