팝업기능 추가하려면 (인쇄기능 안 쓸경우 - 초간단) 1. popup이라는 게시판 생성 및 권한 설정 2. 3. modules/document/tpl/print_page.html의 window.print() 스크립트 부분을 주석 처리 [http://www.zeroboard.com/?mid=zbxe_qna&search_target=title&search_keyword=%EB%B9%84%EB%B0%80%EA%B8%80&document_srl=15941771 1:1 게시판용 자동 비밀글 체크] == 게시판 확장변수를 더 다양하게 == [http://www.zeroboard.com/?mid=zbxe_user_tip&search_target=title&search_keyword=%ED%99%95%EC%9E%A5&document_srl=16568133 음악, 이미지] 추가할 것들 : 한국 유선전화 kr_tel 한국 무선전화 kr_mobile 한국주소(zip) kr_zip 단일 선택(radio) radio 주민등록번호 형식 regnum 일시 (년월일시분초) datetime 과정 : /zbxe/modules/board/tpl/board_insert.html line 214 : (if($key != 'kr_zip' 부분 제거) {{{#!vim php //... ?> }}} /zbxe/modules/board/board.admin.view.php line 79 dispBoardAdminBoardInfo() -> /zbxe/modules/board/tpl/board_insert.html line 210 -> /zbxe/common/lang/ko.lang.php line 218 : {{{#!vim php column_type_list['kr_tel'] = '한국 유선전화 (kr_tel)'; $lang->column_type_list['kr_mobile'] = '한국 무선전화 (kr_mobile)'; $lang->column_type_list['radio'] = '단일 선택(radio)'; $lang->column_type_list['regnum'] = '주민등록번호 형식 (regnum)'; $lang->column_type_list['datetime'] = '일시 (년월일시분초)'; //... ?> }}} /zbxe/modules/board/skins/xe_board/extra_var_value.html : (phone_kr, mobile_kr과 tel, select와 radio는 || 연산자로 결합할 수 있다.) {{{#!vim html {htmlspecialchars($val->value)}   {htmlspecialchars($val->value)}   {htmlspecialchars($val->value[0])}
{htmlspecialchars($val->value[1])}   {zdate($val->value,"Y-m-d H:i:s")}   }}} /zbxe/modules/board/skins/xe_board/write_form.html 최상단 : {{{ }}} /zbxe/modules/board/skins/xe_board/extra_var_form.html : (한국주소의 출처는 http://www.bluegate.kr/?document_srl=17081&mid=zbxetip&listStyle=webzine&sort_index=readed_count&order_type=desc 하지만 그대로 적용시 현 버전에서는 사용 불가) {{{#!vim html {@ $val->default = explode(',',$val->default) } {@ $val->value = explode('-',$val->value) } value)-->checked="checked" />{$v}
{zdate($val->value,"Y-m-d H:i:s")}
{$lang->cmd_cancel}
{$lang->cmd_search}
}}} /zbxe/modules/board/skins/xe_board/js/extra_var_form.js : {{{#!vim javascript /* 유-무선 전화번호 관련 */ function krtel_changed(column_name){ var fw = xGetElementById('fo_write'); fw[column_name].value = fw["tmp_" + column_name + "_0"].value + "-" + fw["tmp_" + column_name + "_1"].value + "-" + fw["tmp_" + column_name + "_2"].value; } /* 한국 우편 번호 관련 */ /* /modules/member/tpl/js/krzip_search.js 복사하여 fo_insert_member를 fo_write으로 전환, 잘못된 입력시 경고메시지 추가 */ function doHideKrZipList(column_name) { var zone_list_obj = xGetElementById('zone_address_list_'+column_name); var zone_search_obj = xGetElementById('zone_address_search_'+column_name); var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name); var addr1_obj = xGetElementById('fo_write')[column_name][0]; var field_obj = xGetElementById('fo_write')['_tmp_address_search_'+column_name]; zone_addr1_obj.style.display = 'none'; zone_list_obj.style.display = 'none'; zone_search_obj.style.display = 'inline'; addr1_obj.value = ''; field_obj.focus(); } function doSelectKrZip(column_name) { var zone_list_obj = xGetElementById('zone_address_list_'+column_name); var zone_search_obj = xGetElementById('zone_address_search_'+column_name); var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name); var sel_obj = xGetElementById('fo_write')['_tmp_address_list_'+column_name]; var value = sel_obj.options[sel_obj.selectedIndex].value; var addr1_obj = xGetElementById('fo_write')[column_name][0]; var addr2_obj = xGetElementById('fo_write')[column_name][1]; addr1_obj.value = value; zone_search_obj.style.display = 'none'; zone_list_obj.style.display = 'none'; zone_addr1_obj.style.display = 'inline'; addr2_obj.focus(); } function doSearchKrZip(column_name) { var field_obj = xGetElementById('fo_write')['_tmp_address_search_'+column_name]; var addr = field_obj.value; if(!addr){ alert("동 이름을 입력해주세요. (예: 인계동)"); return; } var params = new Array(); params['addr'] = addr; params['column_name'] = column_name; var response_tags = new Array('error','message','address_list'); exec_xml('krzip', 'getKrzipCodeList', params, completeSearchKrZip, response_tags, params); } function completeSearchKrZip(ret_obj, response_tags, callback_args) { if(!ret_obj['address_list']) { alert(alert_msg['address']); return; } var address_list = ret_obj['address_list'].split("\n"); var column_name = callback_args['column_name']; var zone_list_obj = xGetElementById('zone_address_list_'+column_name); var zone_search_obj = xGetElementById('zone_address_search_'+column_name); var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name); var sel_obj = xGetElementById('fo_write')['_tmp_address_list_'+column_name]; for(var i=0;i 사이에 아래 내용을 껴넣는다. {{{#!vim php {@ $_comment_list = $document->getComments() } A   {@$tmp = str_repeat("[RE]",$comment->get('depth') + 1)}{$tmp} {@$tmp = explode("getContent(false,false))}{strip_tags($tmp[0])}
{$comment->getNickName()}
  {$comment->get('voted_count')!=0?$comment->get('voted_count'):' '} {$comment->getRegdate('Y-m-d')} {zdate($comment->get('last_update'),'Y-m-d H:i')} }}} == 워터마크 적용하기 == 1. /images/logo_mark.gif를 업로드 2. 제로XE 소스 수정 /zbxe/modules/file/file.controller.php line 359: {{{#!vim php waterMark($filename,"../images/logo_mark.gif"); } // 사용자 정보를 구함 $oMemberModel = &getModel('member'); $member_srl = $oMemberModel->getLoggedMemberSrl(); //... ?> }}} 같은 파일, 클래스 내 아무데나 : /zbxe/modules/file/file.controller.php line 359: {{{#!vim php }}} == 라이트박스 적용하기 == [http://www.huddletogether.com/projects/lightbox2/ LightBox2 Download] 2.03 기존 사용 버전 현재는 더 가볍고, 기능이 많으며 사용하는 라이브러리들이 더 최신인 [http://www.justinbarkhuff.com/lab/lightbox_slideshow/ lightbox slideshow]으로 변경. 아래 방법은 둘 모두에서 잘 동작한다. (lightbox slideshow에서는 lightbox.css를 열어 images/... 경로를 ./images/...로 모두 바꾸어 준다. 1. lightbox2를 받아 스킨 디렉터리 아래에 설치. (여기서는 ./lightbox/에 설치하기로 한다.) 2. 다음 두 파일을 생성 js/for_lightbox.js : {{{#!vim javascript //레이아웃 경로로 작성한다. var fileLoadingImage = "/zbxe/modules/board/skins/xe_board_lightbox/lightbox/images/loading.gif"; var fileBottomNavCloseImage = "/zbxe/modules/board/skins/xe_board_lightbox/lightbox/images/closelabel.gif"; }}} css/for_lightbox.css : {{{#!vim html #prevLink, #nextLink{background-image: url(./lightbox/images/blank.gif);} #prevLink:hover, #prevLink:visited:hover { background-image: url(./lightbox/images/prevlabel.gif);} #nextLink:hover, #nextLink:visited:hover { background-image: url(./lightbox/images/nextlabel.gif);} }}} 3. 스킨의 적당한 곳(기본 스킨의 경우 : header.html 등)에 다음 내용을 추가 : (CCA 2.5이므로 라이센스 표기를 해 준다.) {{{#!vim html }}} 끝으로 목록 파일(기본 스킨의 경우 style.gallery.html)에서 다음 내용 수정 line 99 : {{{#!vim html {@$uploaded_files = $document->getUploadedFiles()} {@$i = 0} {@$i++} }}} [http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=7619 그누보드 적용 참고]