웹마스터 팁

단일/다중선택 형식의 확장변수일 경우 카테고리처럼 게시판 리스트에 출력합니다.


예를 들어 첫번째 확장변수를 다음과 같이 만들었다고 가정합니다.


확장변수이름 : list_cate

입력항목이름 : 분류2

형식 : 단일선택 (select)

기본값 : 게시판,방명록,갤러리,로그인,메모장,기타


1. 

modules/document/document.item.php 에서 적당한 곳에 다음 함수를 추가합니다.


function getExtraVarsList($eid) {

            $args->module_srl = $this->get('module_srl');

            $args->eid = $eid;

            $output = executeQuery('document.getExtraVarsList', $args);

            return $output->data->var_default;

        }


2. 

아래의 내용을 복사해 getExtraVarsList.xml 이란 파일을 만들어 modules/document/queries 폴더 안에 넣습니다.


getExtraVarsList.xml

-------------------------------------------------------------

<query id="getExtraVarsList" action="select">

    <tables>

        <table name="document_extra_keys"/>

    </tables>

    <columns>

        <column name="var_default" />

    </columns>

    <conditions>

        <condition operation="equal" column="module_srl" var="module_srl" notnull="notnull" pipe="and" />

        <condition operation="equal" column="eid" var="eid" notnull="notnull" pipe="and" />

    </conditions>

</query>

---------------------------------------------------------------


3. 

적용하고자 하는 스킨을 수정합니다. XE 게시판 기본스킨(xe_board)을 기준으로 하면

modules/board/skins/xe_board/style.list.html 에서 카테고리 출력부분 다음에 아래를 추가 합니다.


<!--@if($oDocument->getExtraVarsList('list_cate'))-->

{@ $extra_list=explode(",",$oDocument->getExtraVarsList('list_cate')); }

<select id="extar_vars1_category2" onchange="window.open(value,'_self');">

<option value="">{$lang->category} 2</option>

<!--@foreach($extra_list as $val)-->

<option value="{getUrl('','mid',$mid,'category',$category,'search_target','extra_vars1','search_keyword'+ '+ ',$val)}">{$val}</option>

<!--@end-->

</select>

<!--@end-->


이제 게시판을 확인해 다음과 같이 뜨면 정상적으로 마친 것입니다.


extra_list.JPG


다만 앞의 카테고리 값을 받아올 수는 있지만 거꾸로는 안됩니다. 

가령 앞의 분류값이 '제로보드'인 상태에서 다시 분류2를 '게시판'으로 선택하면 

'제로보드'이면서 '게시판'인 게시물을 출력할 수는 있지만

분류2를 먼저 '게시판'으로 선택하고 앞의 분류값을 '제로보드'로 선택하면

분류가 '제로보드'인 게시물만 출력됩니다.


다른 확장변수에도 사용하려면 3번에서 'list_cate' 부분을 다른 확장변수이름으로 교체하고, 

getUrl 부분의 'extra_vars1'을 적용하려는 확장변수의 번호로 교체하면 됩니다.



제목 글쓴이 날짜
(재 수정) 제로보드 XE 신버젼에 Lavalic 2 설치하기 [4] 조성우371 2009.01.16
사이트 이전팁( files 폴더) [6] 샤이니라 2009.01.28
게시판에서 사이트 관리자만 볼수있는 항목 만들기 [1] ☜ TeRy ☞ 2009.02.13
테스트용 아이디 탈퇴 막기 [1] SMaker 2009.02.26
첨부파일의 외부 무단 링크 차단하기(XE) 게시판설정 [7] file 왕초보왕따 2009.03.02
브라우저 크기에 따라 본문 가로 크기 자동 조절 [1] 개돌 2009.03.18
제로보드의 아이콘을 내 맘대로 변경하기...(2) [2] file winter548 2009.03.23
로그인 포인트 출력 위젯을 수정해보자 [花穗] 2009.03.27
특정그룹 멤버 표시 위젯에서 이름 순 정렬하기 [2] file 이재한744 2009.03.30
클릭마다 조회수 올리기 [1.4.0] [12] file 지B 2009.04.04
요청하신 모듈을 찾을 수 없습니다 문제해결 방법 [2] 반도체맨 2009.04.09
주민등록 입력 폼 1.2.0 [55] file 개돌 2009.04.10
다양한 언어로 홈페이지 서비스하기 - 무식한 방법 [4] 멀리서 2009.04.21
BNU님의 Planner XE 1.2 버젼(일정관리) [9] file 개돌 2009.04.21
내가 작성 한 글에 대한 일괄 삭제/이동/복사 권한 주기 [2] file 개돌 2009.05.15
별도 페이지 로그인방법 cornet 2009.05.21
로그인 페이지 만드는 방법 [5] 산토 2009.06.12
로그인 후 그룹별로 다른 페이지로 가기 - 업데이트판 v1.5 [19] 무대포2 2009.06.24
로그인 & 파일 첨부 문제 [3] peter99 2009.06.29
Lavalic Mp3 플레이어를 대신하는... [8] 조성우371 2009.07.13