웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
학습목표
글을 작성, 수정할 때 등록 날짜를 변경해 봅시다.
작업하기
쿼리 XML 편집
document/queries 폴더의 updateDocument.xml 파일을 편집합니다.
아래 줄을 삽입합니다.
게시판 스킨 편집
게시판 스킨의 write_form.html 파일을 편집합니다.
원하는 곳에 아래 소스를 삽입합니다.
갱신 버튼 스크립트
게시판 스킨의 js/board.js 파일을 편집합니다.
아래 소스를 삽입합니다.
날짜 처리 후 등록 과정
board/board.controller.php 파일을 편집합니다.
아래 소스를 procAgendaInsertDocument() 함수 내에 적당한 곳에 삽입합니다. (27번 줄)
사용 방법
날짜 선택 버튼을 누르면 달력창이 열립니다.
변경하려는 날짜를 클릭하면 됩니다.
시간은 직접 입력해도 되고 갱신을 선택하면 현재시각으로 입력됩니다.
(입력형식은 hhmmss 또는 hh:mm:ss)
※ 등록 날짜(regdate)를 변경하는 것은 블로그 모듈에서 사용하기에 적당한 방법입니다.
※ 현재 일정관리 모듈에서 사용 중인 기능입니다.
-위 소스는 계속 작업 중으로 언제든지 바뀔수 있습니다.
(글) 등록 시간을 변경해 봅시다.
2007.10.26 18:08
학습목표
글을 작성, 수정할 때 등록 날짜를 변경해 봅시다.
작업하기
쿼리 XML 편집
document/queries 폴더의 updateDocument.xml 파일을 편집합니다.
아래 줄을 삽입합니다.
<column name="regdate" var="regdate" />
게시판 스킨 편집
게시판 스킨의 write_form.html 파일을 편집합니다.
원하는 곳에 아래 소스를 삽입합니다.
<dl class="option">
<dt>{$lang->regdate}</dt>
<dd><a href="#" onclick="open_calendar('regdate_ymd','{zdate($oDocument->get('regdate'),'Y-m-d')}');return false;" class="button"><span>{$lang->cmd_open_calendar}</span></a></dd>
<dd><span class="str_regdate_ymd" id="str_regdate_ymd" onclick="open_calendar('regdate_ymd','{zdate($oDocument->get('regdate'),'Y-m-d')}');return false;">{$oDocument->get('regdate')?zdate($oDocument->get('regdate'),"Y. m. d"):date('Y. m. d')}</span></dd>
<dd><input type="text" name="regdate_his" size="8" id="str_regdate_his" value="{zdate($oDocument->get('regdate'),'H:i:s')?zdate($oDocument->get('regdate'),'H:i:s'):date('H:i:s')}" /></dd>
<input type="hidden" name="regdate_ymd" id="date_regdate_ymd" value="{$oDocument->get('regdate')?zdate($oDocument->get('regdate'),'Ymd'+ '+ '):date('Ymd')}" />
<dd>
<input type="checkbox" name="reg_update" value="Y" id="reg_update" onclick="agenda_reg_update()"/>
<label for="reg_update">갱신</label>
</dd>
</dl>
<dt>{$lang->regdate}</dt>
<dd><a href="#" onclick="open_calendar('regdate_ymd','{zdate($oDocument->get('regdate'),'Y-m-d')}');return false;" class="button"><span>{$lang->cmd_open_calendar}</span></a></dd>
<dd><span class="str_regdate_ymd" id="str_regdate_ymd" onclick="open_calendar('regdate_ymd','{zdate($oDocument->get('regdate'),'Y-m-d')}');return false;">{$oDocument->get('regdate')?zdate($oDocument->get('regdate'),"Y. m. d"):date('Y. m. d')}</span></dd>
<dd><input type="text" name="regdate_his" size="8" id="str_regdate_his" value="{zdate($oDocument->get('regdate'),'H:i:s')?zdate($oDocument->get('regdate'),'H:i:s'):date('H:i:s')}" /></dd>
<input type="hidden" name="regdate_ymd" id="date_regdate_ymd" value="{$oDocument->get('regdate')?zdate($oDocument->get('regdate'),'Ymd'+ '+ '):date('Ymd')}" />
<dd>
<input type="checkbox" name="reg_update" value="Y" id="reg_update" onclick="agenda_reg_update()"/>
<label for="reg_update">갱신</label>
</dd>
</dl>
갱신 버튼 스크립트
게시판 스킨의 js/board.js 파일을 편집합니다.
아래 소스를 삽입합니다.
/* 날짜, 시간 갱신 */
function agenda_reg_update() {
var reg_update = xGetElementById("reg_update");
var regdate_ymd = xGetElementById("date_regdate_ymd");
var str_regdate_ymd = xGetElementById("str_regdate_ymd");
var regdate_his = xGetElementById("str_regdate_his");
if(reg_update.checked == true) {
now = new Date()
yyyy = now.getFullYear();
mm = now.getMonth() + 1;
dd = now.getDate();
hh = now.getHours();
ii = now.getMinutes();
ss = now.getSeconds();
regdate_ymd.value = yyyy.toString() + mm.toString() + dd.toString();
str_regdate_ymd.innerHTML = yyyy + ". " + mm + ". " + dd;
regdate_his.value = hh + ":" + ii + ":" + ss;
}
}
function agenda_reg_update() {
var reg_update = xGetElementById("reg_update");
var regdate_ymd = xGetElementById("date_regdate_ymd");
var str_regdate_ymd = xGetElementById("str_regdate_ymd");
var regdate_his = xGetElementById("str_regdate_his");
if(reg_update.checked == true) {
now = new Date()
yyyy = now.getFullYear();
mm = now.getMonth() + 1;
dd = now.getDate();
hh = now.getHours();
ii = now.getMinutes();
ss = now.getSeconds();
regdate_ymd.value = yyyy.toString() + mm.toString() + dd.toString();
str_regdate_ymd.innerHTML = yyyy + ". " + mm + ". " + dd;
regdate_his.value = hh + ":" + ii + ":" + ss;
}
}
날짜 처리 후 등록 과정
board/board.controller.php 파일을 편집합니다.
아래 소스를 procAgendaInsertDocument() 함수 내에 적당한 곳에 삽입합니다. (27번 줄)
$obj->regdate =
str_replace(":", "", $obj->regdate_ymd?$obj->regdate_ymd:date("Ymd").$obj->regdate_his);
사용 방법
날짜 선택 버튼을 누르면 달력창이 열립니다.
변경하려는 날짜를 클릭하면 됩니다.
시간은 직접 입력해도 되고 갱신을 선택하면 현재시각으로 입력됩니다.
(입력형식은 hhmmss 또는 hh:mm:ss)
※ 등록 날짜(regdate)를 변경하는 것은 블로그 모듈에서 사용하기에 적당한 방법입니다.
※ 현재 일정관리 모듈에서 사용 중인 기능입니다.
-위 소스는 계속 작업 중으로 언제든지 바뀔수 있습니다.
댓글 4
-
주하니
2007.10.26 18:42
-
LapaKing
2007.10.30 18:03
위의 코드로 코드 수정후 갱신일자 부분에서 시간부분이 변경이 되지 않습니다.
날짜등록후 처리하는 과정에서 추가하는 코드부분인
$obj->regdate = str_replace(":", "", $obj->regdate_ymd?$obj->regdate_ymd:date("Ymd").$obj->regdate_his);
부분에서 빠진 코드가 있군요.
아래와같이 빨간색 표시부분을 추가해 주어야 제대로 작동됩니다.
$obj->regdate = str_replace(":", "", $obj->regdate_ymd?$obj->regdate_ymd.$obj->regdate_his:date("Ymd").$obj->regdate_his); -
Simulz
2007.10.30 18:47
구조상 빠진 코드가 있어야 되는건데.....
저는 시간이 정상적으로 변경되서 몰랐네요.....$obj->regdate_his 이걸 붙여도 정상, 없어도 정상...뭐가 문젠지 -
PsychOcean
2009.03.04 03:44
시뮬즈님의 방법대로 하면 날짜는 변경이 잘되는데 시간이 00:00:00으로 뜨고,
라파킹님의 방법대로 하면 날짜, 시간 모두 적어준 것과 다르게 변경됩니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
(글) 등록 시간을 변경해 봅시다. [4] | Simulz | 2007.10.26 |
오~ 스샷만 봐도 설레임니다.