웹마스터 팁

P005.png

학습목표

글을 작성, 수정할 때 등록 날짜를 변경해 봅시다.



작업하기

쿼리 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>


갱신 버튼 스크립트

게시판 스킨의 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;
    }
}



날짜 처리 후 등록 과정
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)

P007.png

P006.png


※ 등록 날짜(regdate)를 변경하는 것은 블로그 모듈에서 사용하기에 적당한 방법입니다.
※ 현재 일정관리 모듈에서 사용 중인 기능입니다.

-위 소스는 계속 작업 중으로 언제든지 바뀔수 있습니다.