웹마스터 팁


문서 카테고리를 메뉴에 적용하기 위한 레이아웃 수정 팁
제로보드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
제목 글쓴이 날짜
한 페이지(화면)에 두개(2개)의 모듈(게시판 등)을 넣는 법 [6] 황건순 2008.08.25
음악넣는 BGM코드 70종류 입니다 [1] 푸른커튼 2008.08.25
댓글(코멘트) 입력창에 이미지 넣기 [19] file skyatc 2008.08.29
밑에 페이지 네비게이션 수정 (다음10개, 이전10개등으로) [6] file Clanss 2008.08.29
메인화면에 플래시 쉽게 삽입하는 방법.. [12] 청개구리00 2008.08.30
문서 카테고리를 메뉴에 적용하기 위한 레이아웃 수정 팁과 개념토론 [7] 제베 2008.08.31
원하는 위치에 구글 (맞춤)검색창 달기 [2] 다케루 2008.09.02
각 리스트형 위젯에 페이지 기능을 달자. [10] 라르게덴 2008.09.02
[우클릭 및 드레그 방지법] 및 [방지된 홈페이지 해재법] >0< [7] 이홍석295 2008.09.03
카멜레온 최근글 위젯 클릭시 새창 팁 가랑바람 2008.09.04
회원 포인트 선물 하기 등 포인트 변경시 바로 적용 방법 한꼬마 2008.09.06
동일서버내 페이지에서 로그인정보 활용하기... [4] 수로 2008.09.06
다음카페에 끊김없이 음악나오게 하기 푸른커튼 2008.09.06
등록하시겠습니까? 등록할까요? 안 나오고 바로 글 등록되게 하는 법 [6] 황건순 2008.09.08
블로그, 홈페이지 가입시 자동 입력되는 http:// 없애기 [2] 류영무 2008.09.09
IP 주소 4자리수 모두 공개하는 방법 [1] 블루파티 2008.09.11
에디터 9pt 추가 및 에디터에도 웹폰트 보이게 하기. [13] file 욜리 2008.09.11
사진 한꺼번에 일괄적으로 올리기 [4] 안정수650 2008.09.12
게시판 에디터 폰트 글자(글씨)크기 변경하는 법 씨에씨에 2008.09.12
주소록 구현 (외부 페이지) [17] CSLab 2008.09.15