웹마스터 팁
게시판 최초 정렬을 사용자정의(확장변수) 기준으로 설정 가능하게 하는 방법
2014.01.20 19:03
원본출처 : 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);
}
}
댓글 8
-
ForHanbi
2014.01.20 19:09
-
우띵
2014.04.09 09:33
항상 감사드립니다.
다만 위 팁 적용시 확장변수 검색이 작동이 안되는것 같습니다. 확인 부탁드립니다.
좋은하루되세요!
-
boy2
2014.04.17 07:17
확장변수가 날짜, 시간 두가지 있고 현재 오늘 날짜와 같은 것만 출력하고 시간 별로 정렬하는 건 알 수 없을까요...
-
어떤기능인지 이해가 부족 하네요 ㅠㅠ 이건 어떠할때 이용하나요?
-
최초 목록 접근시, 특정 확장변수 기준으로 정렬이 되도록 하고 싶으신 경우..
예를들면) 신청게시판에서 확장변수로 예약일 을 받는데, 해당 게시판 처음 접근시 예약일 기준으로 기본 정렬이 되게 하고플 경우 등에 이용하게 되겠죠?
-
대암지기
2015.01.06 07:58
이팁을 적용하시면 선택된 확장변수로 초기 접근 부터 정렬은 되지만, 확장변수 검색은 안됩니다.
-
대암지기
2015.01.06 08:19
[1.7.8] 코어의 문제 인듯합니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
화일첨부 디렉토리의 빈 폴더 삭제... [13] | 카르마 | 2012.01.20 |
사이트 잠금 수동으로 풀기 | StyleRoot | 2015.01.07 |
사용자정의 기준 정렬과 사용자정의 검색이 동시에 작동하도록 기능 개선 [2] | sejin7940 | 2015.01.06 |
phpmyadmin 설치뒤 setup 스크립트는 삭제해야 [1] | YJSoft | 2014.11.12 |
게시판 최초 정렬을 사용자정의(확장변수) 기준으로 설정 가능하게 하는 방법 [8] | sejin7940 | 2014.01.20 |
모바일레이아웃을 사용하되 모바일 게시판 스킨을 선택하지 않고 일반 게시판 스킨을 사용하는 방법 [4] | sejin7940 | 2014.02.04 |
폰갭 alert하기
![]() | 지인에드컴 | 2015.01.01 |
정규식으로 소수 찾기 [4] | 신평 | 2014.12.31 |
구글 접속이 어려운 지역에서 홈페이지 속도 저하 관련 [2] | 상해파 | 2014.12.31 |
확장변수 정렬 방법 | 아름다운청년1 | 2014.12.31 |
게시판DX 포인트 설정값이 0인 게시물 경고창 뜨지않도록 | 꾸링 | 2014.12.31 |
본문 내부의 이미지를 썸네일화 시키지 못하는 버그 해결법 [11] | sejin7940 | 2012.07.19 |
관리자 페이지 날짜 검색과 스크랩. [1] | 무얼까2 | 2014.12.24 |
추천인 표시 [11] | socialskyo | 2013.10.17 |
XE 템플릿에서 $_SESSION 변수 사용하기 | 신평 | 2014.12.21 |
심플한 XML 플래시 이미지 갤러리
[7]
![]() | maxtabby | 2010.12.21 |
CSS 코드를 손쉽게 prefix/minify 변환해주는 사이트
![]() | sojumeister | 2014.12.18 |
1.7.4 용 youtube, vimeo, ted 썸네일 적용 document.item.php 수정방법
[9]
![]() | 남자인간 | 2014.02.17 |
제이쿼리 충돌시 팁 | 바나나소프트 | 2014.12.15 |
웹진/갤러리에서 썸네일 클릭 시 원본 이미지 보기 + HighSlide JS 적용 (수정) [18] | 고진감래 | 2009.10.17 |
이런...
이런 꿀같은 팁들을 계속 올려주시는 세진님
감솨~~~