웹마스터 팁

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


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


확장변수이름 : 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 기반 홈페이지를 훅가게 하는 방법 4가지 [26] 老姜君 2009.10.08
XE 1.7 + 도쿠위키 Weatherwax RC1 세션 및 그룹 연동 [20] ay 2013.04.18
XE를 처음 설치하면 기본적으로 필요한 자료들 - 초보자용 V2013-05-20 [11] Treasurej 2012.03.26
Startssl, iis에서 설치법. file 식군 2013.04.01
외부로그인 (레이아웃 파일만 수정) [4] 투씨 2012.10.13
[1.5.0.2 beta] Err : "./system_message.html" template file does not exists. [1] paulryu03 2011.10.01
1.5.0.2베타 초기설치시 Err : "./system_message.html" template file does not exists. [1] 인스크랩 2011.10.02
방명록 모듈 1.5.1.1에서 비회원이 남긴글 삭제하기 조슈아킴 2013.02.14
개인 웹서버 백업 및 게시물 등록 날짜 수정 방법 [10] file eunbini 2008.10.24
로그인 스킨 수정 팁 - 신규 쪽지 수 보여주기 [17] file 러브스킬 2010.05.03
서버는 euc-kr, DB는 utf-8일때 백슬래시(backslash) 표기되는 증상 [2] file 곰고긔 2013.01.16
Startssl 무료인증서 백업 복구 성공기!! [2] 제이엔지 2013.01.15
게시판 리스트에서 확장변수를 카테고리처럼 보여주기 [11] file 고진감래 2009.11.05
일반게시판에서 모듈게시판 혹은 모듈게시판(에서 일반게시판예로들어 일반게시판 -> 게시판DX 혹은 그 반대)으로 게시글 이동시키는 방법 (DB에서) [1] file 장포크 2012.11.28
소셜XE에 지쳐서 찾다 찾다 찾은게 [4] SuperSonic 2012.11.21
닉네임, 레벨, 포인트등 활동정보바 [2] file 소렌트. 2012.11.19
로그인 안되시는분들 참고 [8] 화니478 2007.08.14
관리자의 회원정보 수정 페이지에 '가입일/최근접속일' 추가하기 [6] file showjean 2012.09.17
1.4 에서 1.5로 게시판 마이그레이션 팁 [12] file 마음의빈자리 2012.07.10
startssl 에 가입하고 패널 들어갈때 인증서 못받으신분들 file 우리아기 2012.09.12