웹마스터 팁

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


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


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



제목 글쓴이 날짜
2차 메뉴가 없을 경우 왼쪽 메뉴 숨기기 [5] file 엔시아- 2009.07.16
트리메뉴(dtree) 대충 정리 [11] file 한이73 2009.07.19
까오천사님의 만기일 팁을 1.2.4에 맞게 수정했어요. [15] file 도파 2009.08.27
http://www.도메인주소/~as/xe/ 로 로그인 접속후~ [3] wjnam 2009.09.07
특정그룹회원에게 서비스 제공하기 [4] 똑디 2009.09.12
XE 서버 이전할 때 통채로 압축해서 옮기는 완벽한 방법-로그인, 첨부파일문제 해결 [5] 웰빙샵 지영 2009.09.15
로그인이 안되거나 첨부파일이 등록이 안될때. [9] 똑디 2009.09.30
-추가- 당신의 XE 기반 홈페이지를 훅가게 하는 방법 4가지 [26] 老姜君 2009.10.08
로그인 폼에 관리자는 [Admin] 나타나게 하기 [4] file 오스카 2009.10.10
게시판 리스트에서 확장변수를 카테고리처럼 보여주기 [11] file 고진감래 2009.11.05
ZB4로 현재까지 사이트를 운영하는분들 긴급 상황안내 (???) [2] DuRi 2009.11.20
메인 레이아웃에서 로그인이 안보이는 경우. 김찬회425 2009.12.06
회원과 비회원 구분하여 출력하기 [6] NEARSTORY 2009.12.26
Flash swf 플래쉬 때문에 로그인이나 메뉴가 감추어졌을때에... [5] file 태림씨야! 2010.01.23
로그인페이지와 새페이지 연결법 [2] poko 2010.01.30
쉬운 설치 - unexpected error 메시지창이 뜰 때 [9] 현의느낌 2010.01.30
외부프로그램에서 제로보드 xe 및 그누보드 회원 연동(로그인) 하기 - 초간단 [1] 한이73 2010.02.03
로그인 후 특정 그룹 페이지 가기 다른버전 [9] 눈물많은OrOi 2010.02.22
초보자를 위한 제로보드에 애드온 프로그램 설치하기 강좌 이하늘690 2010.02.23
플래시 뒤로 로그인창 숨는 문제 [5] 김지훈295 2010.02.25