XETOWN

호수 공원

XE 사용에 대한 여러가지 정보들을 공유할 수 있습니다.
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

안녕하세요! XE타운 여러분~!?

 

datepicker.jpg

 

게시판 설정 -> 사용자 정의에서 형식을 일자(연월일)로 선택하고

글을 쓰면 위에 스샷처럼 날짜만 선택이 가능합니다.

 

datetimepicker.jpg

 

 

저는 위 스샷과 같이 날짜에 추가적으로 시간 데이터까지 필요하게 되어 별도의 작업을 진행 하였습니다.

 

해당 부분은 코어를 수정하는것 같아.. 만약 해당파일이 수정이되면 다시 패치해줘야 하는 번거로움이 있습니다.

참고 하시고 하는 방법은 아래를 읽어주시기 바랍니다.

 


 

 

우선 필요한 준비물은 jQuery-Timepicker-Addon JavaScript 패키지가 필요 합니다.

 

https://github.com/trentrichardson/jQuery-Timepicker-Addon.git

해당 파일은 위 주소에서 받으시면 됩니다.

 

파일을 받고 압축 파일을 열어보면

 

2016-09-01_124933.jpg

 

위와 같은 파일들을 확인 할 수 있는데 여기서 필요한 파일들은

 

 

2016-09-01_125040.jpg

 

dist 폴더에 있는 

jquery-ui-sliderAccess.js

jquery-ui-timepicker-addon.min.js

jquery-ui-timepicker-addon.min.css

 

파일 3개와

 

2016-09-01_125104.jpg

 

dist -> i18n 폴더안에 

jquery-ui-timepicker-ko.js

파일 1개가 필요 합니다.

 

2016-09-01_125509.jpg

xe설치경로/common/js/plugins/ 로 들어가서

위 파일 4개를 ui.datetimepicker 폴더를 만들어 주시고 넣어 줍니다.

 

2016-09-01_125733.jpg

 

그리고 xe설치경로/common/js/plugins/ui 에 들어가서

jquery-ui.min.js

jquery-ui.min.css

images 폴더

 

2개의 파일과 images 폴더를 복사해서 ui.datetimepicke 폴더에 넣어 줍니다.

 

2016-09-01_130037.jpg

 

그러면 최종적으로 ui.datetimepicke 폴더에는 위와 같이 파일들이 모여 있겠죠?

마지막으로 파일 하나를 더 추가해줘야하는데 바로

 

plugin.load

파일을 만들고 그 파일에 

jquery-ui.min.js
jquery-ui.min.css
jquery-ui-sliderAccess.js
jquery-ui-timepicker-addon.min.css
jquery-ui-timepicker-addon.min.js
jquery-ui-timepicker-ko.js

라고 내용을 적어주시고 저장해주시기 바랍니다.

 

그러면 timepicker를 사용할 준비는 끝났습니다.

 

// 귀찮으신 분들은 구글 드라이브에 파일을 올렸으니 받아서 해당 경로에 압축을 풀고 넣어주세요 (링크)

 

 

이제는 소스를 약간 수정해야 합니다.

 

2016-09-01_130708.jpg

 xe설치경로/classes/extravar/Extravar.class.php  수정

 

case 'date' :
   //return zdate($value, "Y-m-d");
   return zdate($value, "Y-m-d H:i:s");

 

위 경로에 case 'date' :

부분을 기본 return zdate($value, "Y-m-d"); 는 주석 처리 해주시고 위와같이 변경해주세요

 

case 'date' :
// datepicker javascript plugin load
// Context::loadJavascriptPlugin('ui.datepicker');
// $buff[] = '<input type="hidden" name="' . $column_name . '" value="' . $value . '" />'; 
// $buff[] = '<input type="text" id="date_' . $column_name . '" value="' . zdate($value, 'Y-m-d H:i:s') . '" class="date" />';
// $buff[] = '<input type="button" value="' . lang('cmd_delete') . '" class="btn" id="dateRemover_' . $column_name . '" />';
// $buff[] = '<script type="text/javascript">';
// $buff[] = '//<![CDATA[';
// $buff[] = '(function($){';
// $buff[] = '$(function(){';
// $buff[] = '  var option = { dateFormat: "yy-mm-dd", changeMonth:true, changeYear:true, gotoCurrent:false, yearRange:\'-100:+10\', onSelect:function(){';
// $buff[] = '    $(this).prev(\'input[type="hidden"]\').val(this.value.replace(/-/g,""))}';
// $buff[] = '  };';
// $buff[] = '  $.extend(option,$.datepicker.regional[\'' . Context::getLangType() . '\']);';
// $buff[] = '  $("#date_' . $column_name . '").datepicker(option);';
// $buff[] = '  $("#dateRemover_' . $column_name . '").click(function(){';
// $buff[] = '    $(this).siblings("input").val("");';
// $buff[] = '    return false;';
// $buff[] = '  })';
// $buff[] = '});';
// $buff[] = '})(jQuery);';
// $buff[] = '//]]>';
// $buff[] = '</script>';
Context::loadJavascriptPlugin('ui.datetimepicker');
$buff[] = '<input type="hidden" name="' . $column_name . '" value="' . $value . '" />'; 
$buff[] =  '<input type="text" id="date_' . $column_name . '" value="' . zdate($value, 'Y-m-d H:i:s') . '" class="date" />';
$buff[] =  '<input type="button" value="' . lang('cmd_delete') . '" class="btn" id="dateRemover_' . $column_name . '" />';
$buff[] =  '<script type="text/javascript">';
$buff[] = '//<![CDATA[';
$buff[] =  '(function($){';
$buff[] =  '$(function(){';
$buff[] =  '  var option = { timeFormat: "HH:mm:ss", changeMonth:true, changeYear:true, gotoCurrent:true, yearRange:\'-100:+10\',  onSelect:function(){';
$buff[] =  '    $(this).prev(\'input[type="hidden"]\').val(this.value.replace(/\D/g,""))}';
$buff[] =  '  };';
$buff[] =  '  $("#date_' . $column_name . '").datetimepicker(option);';
$buff[] =  '  $("#dateRemover_' . $column_name . '").click(function(){';
$buff[] =  '    $(this).siblings("input").val("");';
$buff[] =  '    return false;';
$buff[] =  '  })';
$buff[] =  '});';
$buff[] =  '})(jQuery);';
$buff[] = '//]]>';
$buff[] = '</script>';
break;

 

그리고 위와 같이

Context::loadJavascriptPlugin('ui.datepicker'); 부분을 컨트롤+F 로 찾아서

기존 datepicker 부분을 datetimepicker로 변경해 줍니다.

 

그러면 사용자정의에서 날짜와 시간을 선택 할 수 있습니다.

 

 

 

 

 

  • profile
    구름이 2016.09.01 16:08:58
    좋은팁 감사드립니다~!
  • profile
    윤삼 2016.09.01 19:18:49
    생각지도 못해봤던 팁이네요. 감사합니다~
  • profile
    데버 2016.09.06 09:57:49
    웹호스팅 받는 홈피에서도 사용 가능한 거인가요?
  • profile
    Sunup 2016.09.06 13:16:10
    넵 ftp로 파일 업로드 수정만 하시면 가능 합니다~!
  • ?
    가이더 2017.02.11 17:24:43
    왜 저는 똑같이 했는데도 안되는지 모르겠습니다.

List of Articles
번호 분류 제목 글쓴이 날짜
화제의 글 XE 사용팁 코어 수정 없이, 시조 댓글의 리스트만 출력하고, 자손 댓글의 리스트는 로드하지 않았다가 클릭 이벤트로 ajax 호출하기 33 file 윤삼 2017.04.20
5173 질문/답변 간단한 구인구직 레이아웃이 있을까요? 2 삼삼이 2017.04.14
5172 질문/답변 소셜아이디로만 로그인을 허용할 때 file 고양이 2017.04.14
5171 질문/답변 fail2ban 설치... madnomad 2017.04.14
5170 질문/답변 모바일에서 메뉴 새글 표시 모듈이 동작하지 않는데요 이브이 2017.04.14
5169 질문/답변 캐시 디렉토리 지정할수 있을까요? 2 날아라 2017.04.13
5168 질문/답변 사이트 로고를 중앙으로 옮기고 싶습니다. 12 도균짱 2017.04.13
5167 질문/답변 jquery 오늘 날짜 이후부터 선택 가능 2 길동-홍 2017.04.13
5166 질문/답변 혹시 라이믹스에서 게시판 권한 설정이 별도로 따로 있나요? 3 file 차도남 2017.04.13
5165 질문/답변 게시글 작성시 이미지를 필수로 첨부할 수 있도록 만드는 방법이 있을까요..? 3 루딩 2017.04.13
5164 질문/답변 안녕하세요 모바일 화면 관련 질문이 있습니다.! 1 어쩔 2017.04.13
5163 질문/답변 contact us 모듈의 모바일용일 경우.. 이온디 2017.04.13
5162 XE 사용팁 스케치북에서 모바일 사용시 모바일 스킨 댓글에 파일첨부 가능하게 만들기 2 file 이온디 2017.04.13
5161 질문/답변 IwinV VPS에서 SSH 접속시 포트 문제 9 마꼬 2017.04.12
5160 질문/답변 스케치북 스킨 - 모바일 최적화 모바일 보기 - 댓글 태그 노출 2 이온디 2017.04.12
5159 질문/답변 htaccess 를 통한 리다이렉트 설정 5 라뜨에 2017.04.12
5158 질문/답변 mid 관련 질문입니다. 3 대한천자 2017.04.12
5157 아이디어 제안/공유 개발자님들~ 모듈 이름 만드실때... 19 웹지기 2017.04.12
5156 질문/답변 쇼핑몰 상품스킨 4 가이더 2017.04.12
5155 질문/답변 등업 모듈 없을까요? 10 SoyaMilk 2017.04.12
5154 질문/답변 서버 아이피 숨길수잇는 방법잇을까요? 3 뚜방 2017.04.11
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 266 Next
/ 266
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...