웹마스터 팁

원본출처 : http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=98103

 

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

 

이번엔 조금 어려운 팁인데 유용한 팁일꺼예요.

꼭 수정되어야하는 부분이라 보기에,  추후에 Board 모듈 자체에 포함되리라 조심스레 예상합니다 ^^;;

(사실 Github 에 올렸다가 코드가 다 사라져서, 링크를 이 쪽으로 연결해둘려고 여기 쓰는거예요 ^^)

 

 

게시판 확장변수 기준으로 정렬하는 기능이  과거 XE 1.4 때에는 아예 없었고  (스킨에서 배열형태로 처리했었죠 ^^;)

XE 1.5  에서인지 1.7 에서인지 에서 기능 자체가 추가되긴했는데..

 

사실 이 추가된 정렬기능에 버그가 하나 있고 ^^;    ( XE 1.7.4 에서 패치될 예정입니다)

http://www.xpressengine.com/index.php?mid=tip&document_srl=22479901   를 참고해서 수정하시면 됩니다.

이 구현되어있는 정렬기능도 

게시판 목록 상단부분의 사용자정의(확장변수)명을 클릭함으로서 정렬 기준을 바꿀 수 있을뿐

<< 처음 게시판 접근시부터 사용자정의(확장변수) 기준의 정렬은 불가능합니다 >>

 

이 부분이 정렬기능에 관해 의외로 굉장히 큰 한계를 만들기에..

게시판변로 생성한 사용자정의를 기준으로  정렬기능을 설정할 수 있는 방법을 알려드리면...

 

 

 

 

1. board/tpl/board_insert.html

<option loop="$order_target=> $key, $val" value="{$key}" selected="selected"|cond="$module_info->order_target== $key">{$val}</option>

아래에다가 추가

 

 // sejin7940 추가 ( 확장변수 기준 정렬 기능 )

{@
$oDocumentModel = &getModel('document');
$inserted_extra_vars = $oDocumentModel->getExtraKeys($module_srl);
}
<option loop="$inserted_extra_vars => $key, $val" selected="selected"|cond="$module_info->order_target== $val->eid" value="{$val->eid}">{$val->name}</option>

2. board/board.admin.controller.php 에서

function procBoardAdminInsertBoard 함수에서

if(!in_array($args->order_target,$this->order_target)) $args->order_target = 'list_order';

위에다가 추가

// sejin7940 추가 ( 확장변수 기준 정렬 기능 )

if($args->module_srl) {
$oDocumentModel = &getModel('document');
$extra_keys = $oDocumentModel->getExtraKeys($args->module_srl);
if (is_array($extra_keys)){
foreach($extra_keys as $val){
$this->order_target[] = $val->eid;
}
}
}

===  이 부분 소스를 조금 바꿉니다 (140416) ====


3. modules/board/board.view.php 에서
function dispBoardContentList() 함수에서

 

if(!in_array($args->order_type, array('asc','desc'))) 위에다가 추가

 

// sejin7940 추가 ( 확장변수 기준 정렬 기능 )
if(!Context::get('sort_index') && $extra_keys) {
foreach($extra_keys as $key => $val) {
$order_target_extra[] = $val->eid;
}
if(in_array($this->module_info->order_target, $order_target_extra)) {
Context::set('sort_index',$this->module_info->order_target);
}
}

제목 글쓴이 날짜
게시판 글 엑셀로 출력하기(확장변수 포함) [15] 한이73 2014.07.17
확장변수값 계산하여 게시판 리스트에 출력하기(총계 게시판) [1] file klaist 2009.11.30
게시글 확장변수 순으로 정렬하기 (2010.01.18 13:18 수정) [24] June Oh 2010.01.11
확장변수 출력 방법 초 심플하게 적어봅니다. [15] 라르게덴 2009.03.16
외부 페이지에서 회원 프로필 정보(확장변수) 나타내기 한꼬마 2015.10.14
XE 1.5 에서 확장변수 검색이 안 되시는 경우 해결책 [5] sejin7940 2012.01.24
확장변수 검색시 범위 설정해서 검색하는 팁. [2] 키다리아저씨2 2015.06.16
확장변수(textarea)에서 html 사용하기 [3] 하늘종 2010.11.01
확장변수에 시분초 추가하기 [1] file 해떨 2015.04.15
게시판 최초 정렬을 사용자정의(확장변수) 기준으로 설정 가능하게 하는 방법 [8] sejin7940 2014.01.20
확장변수 정렬 방법 아름다운청년1 2014.12.31
특정 확장변수를 글 추천자에게만 보이게 하기 [10] 뮤랑이 2010.01.11
게시판 글쓰기 폼은 없이 확장변수만 표시할 수 있는 게시판 만들기 (for sketchbook5 최신버전 기준) [2] 큰성565 2014.05.02
*LI-NA님의 큰 선물* SKETCHBOOK5 (최신버전)에서 특정 확장변수를 추천하는 사람에게만 공개하도록 하는 방법 [4] file 큰성565 2014.04.30
XE 1,7 에서 확장변수 기준으로 정렬 기능이 작동 안 하는 버그 수정법 [1] sejin7940 2013.12.04
확장변수, 회원가입 등의 한국 우편번호 검색 서버 주소 변경... [2] Double'U' 2013.12.26
[공유]로그인 하지 않아도 게시판에서 회원정보 출력 하기 (가입품 확장변수 포함) [6] file rminkim 2012.03.20
요즘 만들고 있는 사이트에 적용한 것(모바일 확장변수) [4] 유니눅스 2012.07.30
특정 확장변수값이 포함된 글의 총 개수를 출력하는 함수 [3] sejin7940 2012.08.07
확장변수 폼 디자인 하기 [14] file Diver 2009.06.21