웹마스터 팁



xe 잘 아시는 분들은 패스해주시구요.

----------------

 

xe 접하고나서 원하는 사이트를 만들기 위해 불가피하게 함수 수정을 하게 되는 경우가 많습니다.

저도 얼마전까지는 그렇게 코어함수를 수정해서 쓰다가 이곳에서 어느 분이 따로 만들어서 사용할 수 있다는 댓글 팁을 보고 실제로 적용해서 쓰고 있습니다.

config.user.inc.php 파일을 config 폴더에 하나 만듭니다.

(개발하시는 쪽에선 주로 디버깅용으로 사용하는듯 합니다. 그래서인지 이 파일에 대한 자세한 소개가 거의 없네요.)

이 파일은 config 폴더 내에 존재하면 xe 에서 자동으로 읽어들이게 되어있더군요.

코어 업데이트시에도 건재하게 그대로 살아있는 아주 유용한 파일이 아닌가 생각됩니다.

 

함수 하나를 예를 들겠습니다.

 

config.user.inc.php 내용.

 

<?php
if(!defined('__XE__')) {
 exit();
}

define('__ZBXE__', __XE__);

 

function printCommentExtraImages($time_interval = 43200, $IsSecret, $Regdate) {
 // variables for icon list
 $buffs = array();
 // Check if secret post is
 if($IsSecret=="Y") $buffs[] = "secret";
 // Set the latest time
 $time_check = date("YmdHis", time()-$time_interval);
 // Check new post
 if($Regdate > $time_check) $buffs[] = "new";
 // Get the icon directory
 $path = sprintf('%s%s',getUrl(), 'modules/comment/tpl/icons/');
 //if(!count($buffs)) return;
 $buff = null;
 foreach($buffs as $key => $val) {
  $buff .= sprintf('<img class="newiconimg" src="%s%s.png" alt="%s" title="%s" />', $path, $val, $val, $val);
 }
 return $buff;
}

?>

 

이렇게 입력을 하면 xe 어느 곳에서나 위 함수를 불러다 쓸 수 있습니다.

위 함수는 기존 코어 내에 printExtraImages 라는 네임으로 있습니다만

이미지의 경로와 디자인, 그리고 기능을 약간 바꾸기 위해 새로 작성해 본 것입니다.

기존 함수를 수정하게 되면 코어 업데이트때마다 다시 수정을 해야만 하기 때문에 저렇게 따로 빼서 사용중입니다.

 

다만 기존의 함수 호출 방법인 $oDocument->printCommentExtraImages() 이나 $oComment->printCommentExtraImages()이 아닌

그냥 아래처럼 printCommentExtraImages()만 입력하면 됩니다.

{printCommentExtraImages($widget_info->duration_new, $v->is_secret, $v->regdate)}

 

그렇지만 함수 작성시 $this-> 지시자는 사용이 안되기 때문에

위의 예처럼 $this 가 가리키는 것들을 모두 함수 인자로 넣어줘야 합니다.($v->is_secret, $v->regdate)

그리고 xe 페이지에서는 그 인자에 해당하는 값을 변수로 미리 넣어줘야 하구요.

 

함수명은 작성할 때 다른 함수명과 중복되지 않도록 해주세요.(에러발생)

 

이상... 코어 업데이트시 발생할  에러를 줄이고 간편하게 업데이트를 하기 위한 사용자함수 만드는 방법이었습니다.

 

------------------

 

그리고 함수 사용시 있을 수 있는 xml 쿼리는 모듈폴더 내에 임의의 모듈을 생성해서 사용할 수 있습니다.

제 경우는 user_conf라는 모듈을 만들어서 그 안에 필요한 쿼리들을 넣어

필요한 쿼리가 있을때 위 사용자 함수와 연결해서 처리하고 있습니다.

혹 이 부분도 필요한 분이 있으면 알려드리겠습니다.

 

제목 글쓴이 날짜
제로보드 xe 게시판 가로 푹 줄이기 방법좀 알려주세요. [1] 산업일꾼 2013.04.14
필요한 함수 만들어 쓸 때. [3] 투씨 2013.04.16
파일박스 사용에 관하여 [2] wooildang 2013.04.26
array 함수와 in_array함수 이용한 시간 체크 똑디 2013.05.03
위젯 페이지 또는 메인 페이지에서 게시판 첨부파일 바로 다운로드 할 수 있도록 만들기 최르토스 2013.05.10
[익스10] 스케치북 갤러리 사용시 목록 썸네일 오류현상 해결하기 [4] file imgXE™ 2013.05.16
스팸 회원 삭제시 동시에 관련 글 / 댓글 자동 삭제 + 스팸IP 등록기능 구현방법입니다 [20] sejin7940 2013.05.22
♥ 간단하게 사이트 현재 접속자 수 표기하는 방법 ♥ [5] file 다크진 2013.05.28
페이지.. onmouseover... [2] skeofk 2013.05.28
XE설치시 정상적으로 설치완료가 되지 않고 404 페이지가 뜨는경우 [4] ZEME 2013.06.04
파일 다운로드시 사이트 전환 불가 해결 방법 [3] StyleRoot 2013.06.05
글쓰기 안되고 관리자만 글쓰기가 될때 해결법 [2] 소푸 2013.06.12
XE 1.7.3.4 에서 레이아웃 설정의 메뉴가 계속 '시작메뉴가 있는 사이트맵'으로 설정되는 버그 [1] sejin7940 2013.06.16
간혹 DB오류메시지 뜨고 접속 안되는 경우 [1] 다크진 2013.06.19
Minify 동작 안되시는분 마지막의 마지막에 확인하실것 불타는_방열판 2013.06.20
우분투 nginx + php + MariaDB 에 XE 설치하기 (+Rewrite) [2] file Neder 2013.06.22
스케치북 게시판 스킨에서 라이브리 소셜댓글 다는 법(수정완료) file 착한부산남자 2013.06.27
rewrite mod 가 안 돼서 고생한 경험담입니다. [2] obok 2013.06.29
크롬 사용시 타이태니엄 2013과 스케치북 게시판 충돌! 착한부산남자 2013.07.02
IPGUARD 모듈 배포 [33] file 우진홈 2013.07.10