웹마스터 팁

원본출처 : 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);
}
}

제목 글쓴이 날짜
추천 웹 디자인, 모바일 디자인, CSS3, UI/UX 애니메이션을 확인할 수 있는 블로그 file 나도모름 2015.01.14
Centos yum을 이용한 매일밤 자동업데이트 ひりゅう. 2015.01.14
폰갭 어플 연결시 admob 광고 추가 방법 지인에드컴 2015.01.14
1.7.9 mp3확장명 통합검색시 다운로드 문제 임시 조취 꾸링 2015.01.13
윈도즈에서 PHP3와 MySQL 설치 [40] zero 2000.03.06
페이지에 명언,좋은글,책속의 한줄 랜덤으로 뿌리기 [1] file 고니 2014.12.02
[PHP 기초] 사용법, 기본 문법 [8] 난다날아 2011.03.23
날짜비교 함수 [1] 별을따는소년 2014.12.17
[수정1차] XE 1.7.X 용 nginx rewrite rule 입니다! [15] CM(OEZ) 2013.02.21
nginx Tip 업로드시 [Error Code: HTTP Error, File name: 파일명, Message: 413] 뜰떄 [3] leave 2011.08.18
nginx에서 짧은 주소가 동작하지 않는 경우 해결 [3] Gunmania 2013.03.24
[익스10] 스케치북 갤러리 사용시 목록 썸네일 오류현상 해결하기 [4] file imgXE™ 2013.05.16
timezone (타임존) 관련한 문제 (SERVER, DBMS, PHP, XE) [2] 세상의모든계산기 2015.01.07
우분투 nginx + php + MariaDB 에 XE 설치하기 (+Rewrite) [2] file Neder 2013.06.22
게시글을 삭제하면 해당 글 내부에 첨부된 첨부파일이 서버에서 사라지지 않는 버그 수정법 [6] sejin7940 2015.01.05
XE 쉬운설치에 sftp 이용하기 [6] 비나무 2011.03.15
화일첨부 디렉토리의 빈 폴더 삭제... [13] 카르마 2012.01.20
사이트 잠금 수동으로 풀기 StyleRoot 2015.01.07
사용자정의 기준 정렬과 사용자정의 검색이 동시에 작동하도록 기능 개선 [2] sejin7940 2015.01.06
phpmyadmin 설치뒤 setup 스크립트는 삭제해야 [1] YJSoft 2014.11.12