• XE 가리기보기
  • 파워볼게임 가리기보기
  • 엑셀_PDF게시판2 가리기보기

xe에서 원하는 함수를 사용하려면?

xe 접하고나서 원하는 사이트를 만들기 위해 불가피하게 함수 수정을 하게 되는 경우가 많습니다. XE에서 자신이 만든 함수를 사용하려고 하면 어떻게 해야할까요?

xe에서 원하는 함수를 사용하려면?

xe 접하고나서 원하는 사이트를 만들기 위해 불가피하게 함수 수정을 하게 되는 경우가 많습니다. XE에서 자신이 만든 함수를 사용하려고 하면 어떻게 해야할까요?

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

XE에서 자신이 만든 함수를 사용하려고 하면 어떻게 해야할까요?

  • 부제목
  • 본문 제목 글꼴
  • 본문 커버 높이
  • label
  • starate
  • coverimage
  • vidmp4
  • vidwebm
웹기프트 by
웹기프트
 관리그룹 
댓글1
로그인 후 댓글 작성이 가능합니다.
로그인 후 댓글 작성이 가능합니다.
    1
  • lkm_webgift
    lkm_webgift 2018.12.29 02:50

    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라는 모듈을 만들어서 그 안에 필요한 쿼리들을 넣어

     

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

     

    혹 이 부분도 필요한 분이 있으면 알려드리겠습니다.| 원본문서 http://xecenter.com/xe/31379

검색어 입력
전체검색, 사이트 전체를 검색합니다.