웹마스터 팁


문서 카테고리를 메뉴에 적용하기 위한 레이아웃 수정 팁
제로보드XE 카테고리의 계층구조로 통합기능을 대체한다
제목은 거창하네요 하하. 별 거는 아니구요.

카테고리와 게시판

제로보드XE가 지니는 모듈단위의 관리방식이 문서 콘트롤에 약간의 제한이 되고 있습니다. 그 모듈은 다양한 것입니다만 여기서는 주로 게시판의 의미로 한정해서 이야기 하겠습니다.

우선 짚고 넘어가야 할 점이 카테고리와 게시판의 차이점입니다.

기본적으로 나는 차이가 나지 않는다고 생각하는데, 글을 관리하는 관리자의 관점에서는 권한분배를 신경써야 하므로 게시판을 위주로 생각하게 되어 있습니다.

하지만 카테고리라고 하는 것은 테그(꼬리표)와 마찬가지로 문서에 붙는 것이라고 생각됩니다. 문서의 속성을 분류하는 것이지요.

관리자의 입장에서 특정 게시판을 설치,관리하는 경우와 글을 작성하는 작성자의 입장에서 자신의 글을 분류 배치하는 경우는 구분을 해 줘야 하는 것은 사실입니다. 마치 게시판과 블로그의 차이를 보는 것 같기도 하네요

그런데 관리자의 입장에서도 컨텐츠의 내용을 관리하려하면, 결국은 분류에 맞는 게시판을 형성하게 됩니다. 결국 같은 것이지요.

게시판에 리스트를 뽑을 때는 그 문서리스트 항목에 분류도 들어가죠. 좀 더 거시적으로 전체 문서 목록을 뽑을 때는 게시판 항목이 분류옆에 나란히 자리하게 됩니다.

내가 파악하기로는 전체문서목록을 보는 관점으로 제로보드를 설계하고 있다고 생각됩니다.

문서위주의 관점과 테그(꼬리표)

좀 더 다른 시각으로 접근해 볼 수 있습니다. 미시적이라고 할까요. 문서 한 개를 위주로 들여다보는 시점도 재미있습니다.

특정 문서에 게시판 항목이 여러개 있다면 한 개의 문서가 여러개의 게시판에 복사없이 올라갈 수도 있습니다. 가령 홈페이지에서 전체공지를 각 게시판에 배포하는 경우가 이렇습니다.

그리고 특정 문서에 분류가 여러개 있을 수 있습니다. 이것은 설명할 필요도 없이 테그(꼬리표)가 그 역할을 합니다. 참여연대 홈페이지를 가보았는데 게시판으로 연결하는 메뉴가 따로 없고 인기테그들을 그 자리에 한줄로 배치해 놨더군요. 물론 이건 자동으로 최다 정리된 것은 아니고 특정 테그들을 지정해 놓은 것이지만요.

아무튼 나는 글의 내용을 가장 잘 대표해주는 형태가 꼬리표라고 봅니다.

그리고 제로보드에서는 이 꼬리표를 가장 잘 진화시킨 것이 분류카테고리라고 생각되어 집니다. 물론 지금의 카테고리는 문서 하나에 여러개를 허용하지는 않습니다만. 그래도 많이 발전되었습니다.

카테고리의 계층구조와 통합적 기능

가장 감명깊은 진화의 모습은 계층구조를 형성한다는 것인데요. 상위 분류를 조회하면 소속된 하위 분류의 글들도 목록으로 출력됩니다. 이것이 주목할 만한 강력한 구조입니다.

스킨으로 작업하는 수준의 저로서는 이것이 상당히 구미가 당겼지만 베타버전때 사용하지를 않았습니다. (그때 하위분류가 가능했는지는 기억이 안나네요) 이유는 게시판 단위의 관리 기능을 포기하기가 힘들었기 때문이죠.

게시판 통합을 시도

그래서 여러개의 게시판을 통합해주는 게시판을 스킨의 형태로 만들어서 사용하기도 했습니다. 초보자로서 정말 많이 헤멨습니다. 이것을 모듈로 개발하라는 조언을 받기도 했습니다. mid에 해당하는 db값을 스킨으로 넘겨준 것을 화면에 뿌려주는 것이 아니라 이것을 무시하고 스킨 자체적으로 mid_list를 지정하고 db값을 다시 가져왔습니다. db를 만질 능력이 안되기 때문에 txt 파일에 mid_list를 저장하고 관리하는 프로그램을 관리창의 skin_info에 넣어보기도 했습니다. 암튼 매우 좋지 않은 경우이지만 주먹구구식으로 구현은 했습니다.

그런데 1.03으로 업뎃을 하고 보니, 문서가 소속된 mid 값과 url에서 넘겨주는 통합게시판mid 값이 다를 경우 "잘못된 요청입니다" 를 보여주더군요.

곰곰히 생각한 끝에 통합게시판을 접었습니다.

그래도 대문글모음 게시판은 검색기능을 주로 사용하지만 약간 통합기능을 사용해야 하기 때문에 아쉬움은 남습니다. 제로보드표준은 검색의 경우에는 목록 유지를 위해서 팝업창으로 문서를 보여주고 있습니다. 팝업은 내가 아주 싫어하는 부분이라서 사용하지는 않습니다.

모듈개발을 말씀하시만, 어차피 문서는 특정 mid에 종속되어 있기 때문에 새로운 모듈을 개발한다고 해도 의미는 없어보입니다. 잘못하면 제로보드에서 추진하는 board 모듈은 사용할 수 없게 되기 때문입니다. 문서를 board모듈의 mid에 소속되면 board모듈의 mid와 새로개발된 모듈의mid가 또 충돌하지는 않을까요? 어차피 이건 능력 밖인 듯...

통합기능을 카테고리로 대체

아무튼 통합기능은 계층구조를 만드는 기초이므로 꼭 필요합니다.

제로보드에서 강력한 통합기능을 제공하는 것이 카테고리 입니다. 이 통합기능을 사용하기 위해서 게시판 고유의 기능을 포기하게 되었습니다.

통합게시판으로 게시판을 계층화 할 때는 많은 게시판을 만들었습니다. 이 게시판들을 모두 삭제하고 글들은 한개의 게시판으로 이동시켰습니다. 그 한개의 게시판 내에 메뉴와 유사한 다층구조의 카테고리를 만들고 문서들을 배치했습니다.

어찌보면 뒤바뀌었다고도 볼 수 있는 데 계층구조인 카테고리가 게시판(관리단위) 상위개념이 되는 것이 더 나을 수도 있겠네요. 어차피 게시판이나 카테고리나 같은 것이지만 관리의 측면에서 보면 그렇다는 것입니다. 카테고리 단위로는 관리되어지는 부분이 작으니까요.

개념적으로 봐서는 (하나의 게시판) 거대한 관리 틀 안에 다양한 계층구조를 갖는 문서배치가 된 것입니다. 카테고리를 게시판처럼 운용하게 됨으로 해서 게시판(mid)단위를 기본으로 하는 기존 제로보드 설계와 많은 부분에서 연결이 되지 않습니다.

메뉴와 카테고리와의 연결

연결되지 않는 부분의 핵심은 메뉴와의 관계 입니다.

제로님께 말씀은 드렸습니다만, 메뉴관리창에서 특정매뉴에 대한 mid를 넣는 입력줄 옆에 카테고리도 넣을 수 있도록 하자는 의견이 대안이기도 합니다.

전체적인 스케줄이 헝크러지지 않아야 하니 이 부분에 대해서는 개발자 그룹이 토론해서 처리해 주실 것을 천천히 기다려 봅니다. 채택되면 고맙구요. 아닐 경우에는 다음과 같이 편법을 사용할 수 밖에 없네요.

제로님과 Simulz님의 조언은 카테고리 출력 위젯을 참고해 보라는 것이었습니다. 역시 대안은 빵빵하게 마련해 놓았군요.

메뉴와 카테고리와의 연결을 구현해 보자

목표는 기존에 있던 mid위주의 메뉴를 카테고리형 메뉴로 대체해야 합니다. 

카테고리 출력위젯은 사용하지 않는 것이 좋다고 판단됩니다. 구조나 짜임새 수준으로 봐서는 기존 레이아웃의 메뉴를 대신할 수 없다고 봅니다. 이것은 블로거들에게 유용한 것이겠지요.

그래서 기존 레이아웃 메뉴에 카테고리를 쓸 수 있도록 코드를 추가하기로 했습니다.

뭐 간단하게 현재의 카테고리 타이틀과 메뉴의 text와 같은 지 비교해서 같으면 selected로 메뉴를 활성화해 주면 됩니다.

php소스를 수정할 능력은 안되고 레이아웃 스킨상에서 단순무식하게 해 봤습니다.

레이아웃 소스의 최상단에 붙여넣는 것으로 다 됩니다. 물론 이 상태에서 카테고리를 사용하지 않고 mid를 메뉴에 연결하셨다고 해도 사용에는 문제 없습니다.

소스를 붙여 넣으신 후에 사용하시는 방법은 간단합니다.
ⓐ메뉴와 카테고리 타이틀을 글자하나 안틀리고 같게 입력하시고요. ⓑ게시판 속성에 카테고리 사용을 체크하시고, ⓒ주소url 부분은 게시판 목록에 있는 카테고리 (GO) 창을 이용해서 브라우저 주소창을 복사해서 메뉴 url에 붙여 넣으세요

이렇게 하면 그냥 동작합니다.

소스는 이 글에 걸린 url을 따라가 보시면 제 홈페이지가 나오는데 제 집구석에다 걸어 두겠습니다.

정리

개발자 님들과 토론하기 위해서 다시 정리해 봅니다.

(1) 제로보드XE는 관리의 시각에서 mid를 중심으로 구성된 것으로 해석
(2) 지금은 한개의 문서는 한개의 게시판에 반드시 종속된 것으로 봄
(3) (문서-게시판종속) 묶음은 혼자 사용하는 게시판의 개념적 산물이 아닐까 추측
(4) 개념적으로 한개의 문서는 한사람의 작성자에만 종속되는 것이라고 볼 수 있음
(5) 따라서 문서의 기본소속을 게시판이 아닌 작성자의 블로그나 개인방 my document 에 두는 것이 어떨까 제안
(6) 게시판은 개인방에서 작성한 글을 배포하는 곳이라는 개념으로 한개의 글을 복수의 게시판에 복사없이 링크하는 것도 합리적일 듯
(7) 이 경우에 게시판 관리자는 원글을 삭제하는 것이 아니라 해당게시판에 링크된 것을 해제하는 개념이 될 듯
(8) 한 문서에 대해서 꼬릿말 테그처럼 복수의 카테고리나 혹은 기존에서 한 두개 카테고리를 더 추가할 수는 있는가.
(9) 카테고리에서 구현된 통합기능의 계층적 구조를 관리단위인 게시판의 상위개념에서 구현 될 수 있는가.
(10) 비공개 게시물과 상업상 주문 등의 보안을 필요로 하는 게시판들은 위에 나열된 부분과 충돌하지 않도록 어떻게 정리할 것인가.

제로보드의 무한한 발전을 기원합니다.


제베
제베 profile_image
2008.08.30 (12:05:05)


태그 연관 글
  1. [2018/07/13] 묻고답하기 첨부한 파일 링크 텍스트로 추출하는 방법은 무엇인가요? by diomin *2
  2. [2018/02/25] 묻고답하기 게시판 수정 by Pental *2
  3. [2017/07/18] 묻고답하기 게시판 공개 권한 질문 드려요 도와 주세요ㅠㅠ by sheis**** *2
  4. [2017/05/03] 묻고답하기 youtube 영상목록을 불러와서 게시판에 뿌려주는 모듈이나 스킨이 있을까요? by whitemind *1
  5. [2017/01/12] 묻고답하기 admin 페이지 메뉴 오류 by 쿠닌 *2
제목 글쓴이 날짜
제로보드XE에서 표 쉽게 만드는 방법.. [23] 청개구리00 2008.07.27
제로보드XE 설치 완료버튼 누르니까 My sql 관련 내용 나오던데요 [3] Naver™ 2008.07.30
1원팁) 톱메뉴를 제거하고 왼쪽 서브메뉴만 출력하는 방법 [2] file Gnee 2008.08.02
제로보드 문자열 정교하게 자르기 [11] 젝망치 2008.08.03
TRAC과 SVN을 참조하여 1.0.5의 애드온 설정 버그 해결하기 Adios 2008.08.04
첨부화일 등록시 사라지는 현상 [2] 0라이트0 2008.08.05
닉네임, 이름 정보변경 못하게 하기. [6] 부엉이 2008.08.06
설치시 초기화면으로 돌아가는 현상 해결 [1] spk 2008.08.07
오픈 아이디(OpenID)로만 로그인 허용하기 [7] withover.com 2008.08.07
댓글 첨부파일부분 닫기/열기 추가 [1] file Gnee 2008.08.09
렙업시 소속그룹 없어지는 문제! 얍실하게 해결.. 쿨럭. [2] file 이슈카ㆀ 2008.08.12
rewrite mod 사용 않될 경우 해결 방법 1가지 블루스카이77 2008.08.13
권한 문제 때문에 생길 수 있는 문제 해결 방안 꽃들 2008.08.14
zbxe에서 piclens 사용하기 [2] 우정진 2008.08.15
미국 yahoo zbxe 설치 및 mysql 연결 [4] mr007 2008.08.15
이미지 좌측 정렬시 내용이 적으면 아래부분 올라오는 문제 해결법 [2] file 대류 2008.08.16
한글로 된 이미지 문제 [17] Defy 2008.08.19
[게시판] 이미존재하는 모듈이름 입니다. 오류. [2] 나이스가이212 2008.08.21
라이프팟 연동에서 XML 주소 얻기 최재원541 2008.08.23
한 페이지(화면)에 두개(2개)의 모듈(게시판 등)을 넣는 법 [6] 황건순 2008.08.25