웹마스터 팁

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


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


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



제목 글쓴이 날짜
[PHP]간단한 로그인페이지 만들기 [15] ZipShin 2002.07.09
MYSQL에 접속하기..^^ [9] ZipShin 2002.05.20
[OsE=] Session을 배워보자~ [#1] OsE= 2002.03.02
파일시스템에서 비밀번호 생성/수정/인증 [7] 두기두바 2002.01.10
[추천 소스] phpMyAdmin 다중사용자용... [5] WOWpc 2001.11.29
대화방을 만들어보쟈~ [20] 해그리드짱!!! 2001.06.03
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] ☺[폐]허접-_- 2002.01.24
쿠키(cookie)의 활용 [44] zero 2000.03.06
{로그인}관리자 로그인 폼 간단함 [2] 김민환 2006.10.10
상위 셀렉트박스 값 변경시 하위셀렉트박스(다수)제어하기. [2] Xian 2005.02.19
특정위치에 떠있는 레이어 (슬라이딩 애드콘) - 노프레임홈에서의 문제해결 [8] 검미르 2004.05.03
[초간단 자바스크립트!] 자바로 로그인폼 만들기 [3] ∑Ztxy 2004.01.26
[초간단 자바스크립트!] 홈페이지에 FTP 폼 넣기?! [10] ∑Ztxy 2003.09.29
크롬리스(Chromless) 웹어플리케이션 -5 [3] sundew 2003.05.28
다음 로그인 폼 입니다... 로그인후 원하는 곳으로!! [3] 정성교 2003.03.05
로그인과 로그아웃을 체크하는 방법입니다. [3] 이영호 2003.01.24
텍스트 폼에 커서가 미리 깜빡이도록... [8] 카리 2003.01.22
[re] 아래 행복한고니님의 할아버지 소스의 업글(?) 버젼입니다. [2] Mahican 2002.12.02
[자작] select 폼 태그 html로 허접하게나마 꾸며보기 [18] zero 2002.11.05
자바스크립트로 여러개 아이디 로그인 하기 [5] ZipShin 2002.09.17