웹마스터 팁

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


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


확장변수이름 : 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'을 적용하려는 확장변수의 번호로 교체하면 됩니다.



제목 글쓴이 날짜
[로그인] 자바스크립트로 여러개 로그인하기 [10] ZipShin 2002.08.13
간단한 쿠키 &세션 확인용 M2Vis 2002.07.01
자바스크립트로 메타태그 리프레쉬 효과를 보여주자. [5] ZipShin 2002.06.26
로그인창에서.... [1] 이진수 2006.07.02
TabIndex를 이용하여 탭키 컨트롤하기 [5] 손상모 2004.10.08
노프레임 홈만들기 (3) - 서브 페이지 만들고 제로보드에 적용하기 [27] file @kihwa 2003.07.26
노프레임 홈만들기 (2) - 로그인, 최근게시물 설치 [31] file @kihwa 2003.07.26
노프레임 홈만들기 (1) - 표로 레이아웃 만들고 그림 삽입하기 [45] file @kihwa 2003.07.11
label태그 아십니까? [6] ZipShin 2003.04.27
웹페이지 대화상자 띄우기. [4] 세죠위그이 2003.02.05
〔Tale〕테일이랑 같이 글상자 이쁘게 만들어요 [1] TaleB˚ 2002.11.17
뽀유의 스타일시트 특별강좌 [28] 뽀유♡ 2002.10.25
사용자의 윈도 화면배색을 쓰자.. [4] 엔카일 2002.08.13
[1차패치] 내 msn 현재상태를 보여주자! + 캡처없앰 -ㅂ- [18] 티르 2002.01.04
게시물 하단에 예쁜 추천,비추천 아이콘 버튼 추가하기~ [12] file xemall 2010.11.28
XE 속도 0.0001초라도 올리는 소소한 팁들 (추가) [5] 소렌트. 2010.11.16
비밀번호 찾기 기능 조심하세요 [4] file 老姜君 2010.10.28
Mysql에서 큐브리드로 데이터이전 [3] 카르마 2010.10.23
탈퇴한 회원이 재가입 못하게 막는 방법 & 탈퇴한 회원 정보 보전 방법 [9] sejin7940 2010.09.17
로그인/로그아웃 시 그페이지에 그대로 남아있게하기. [4] 롤리^^ 2010.09.16