사용자 정의용 latest class 추가에 대한 건의입니다. > 시즌3 버그 & 건의

본문 바로가기

시즌3 버그 & 건의

사용자 정의용 latest class 추가에 대한 건의입니다.

본문

사용자가 latest.class.php에 method를 추가하려면 latest.class.php 소스를 직접 수정해야 합니다.

수정을 했을 경우, 향후 patch작업에서 latest.class.php을 별도로 확인하여 수정된 부분을 각자가 수정작업을 해야 하는데

 latest.class.php원본을 수정하지 않고 user_program과 같이 사용자용 class에 원하는 method를 작성하여 사용한다면 

편리할 것 같아 건의를 드립니다.

 

생각한 방법은 다음과 같습니다.

1. /eyoom/classes/latest.user.class.php를 만듭니다.

예로



<?php
class latest_user extends eyoom
{

    public function __construct() {
    }

    // 사용자 method
    public function latest_echo() {
        echo "latest.user.class.php class calling by latest_user-> ...";
    }


}
?>

 

2. /eyoom/classes/class.init.php 에 

    include_once(EYOOM_CLASS_PATH.'/latest.user.class.php'); 과

    $latest_user    = new latest_user; 를 추가합니다.



<?php
    if (!defined('_GNUBOARD_')) exit;
    
    include_once(EYOOM_CLASS_PATH.'/Template_/Template_.class.php');
    include_once(EYOOM_CLASS_PATH.'/qfile.class.php');
    include_once(EYOOM_CLASS_PATH.'/theme.class.php');
    include_once(EYOOM_CLASS_PATH.'/eyoom.class.php');
    include_once(EYOOM_CLASS_PATH.'/upload.class.php');
    include_once(EYOOM_CLASS_PATH.'/latest.class.php');
    include_once(EYOOM_CLASS_PATH.'/shop.class.php');

    include_once(EYOOM_CLASS_PATH.'/latest.user.class.php');

    // 클래스 오브젝트 생성
    $qfile    = new qfile;
    $thema    = new theme;
    $eb        = new eyoom;
    $upload    = new upload;
    $latest    = new latest;
    $shop    = new shop($theme,$eyoom,$tpl_name,$tpl);

    $latest_user    = new latest_user;

?>

 

3. /eyoom/inc/tpl.assign.php 에 "latest_user"  => $latest_user, 를 추가합니다.


    // 변수 할당하기 
    $tpl->assign(array(
        "g5"            => $g5,
        "board"            => $board,
        "eyoomer"        => $eyoomer,
        "mb"            => $mb,
        "user"            => $user,
        "menu"            => $menu,
        "sidemenu"        => $sidemenu,
        "connect"        => $connect,
        "newwin"        => $newwin,
        "list"            => $list,
        "colspan"        => $colspan,
        "href"            => $href,
        "width"            => $width,
        "view"            => $view,
        "view_file"        => $view_file,
        "view_link"        => $view_link,
        "view_sns"        => $view_sns,
        "cmt_list"        => $comment,
        "cmt_sns"        => $comment_sns,
        "wr_link"        => $wr_link,
        "wr_file"        => $wr_file,
        "fm"            => $fm,
        "files"            => $files,
        "thumbs"        => $thumbs,
        "qaconfig"        => $qaconfig,
        "rel_list"        => $rel_list,
        "answer"        => $answer,
        "write"            => $write,
        "loop"            => $loop1,
        "memo"            => $memo,
        "subinfo"        => $subinfo,
        "mobile_tail"    => $mobile_tail,
        "page"            => $page,
        "lvuser"        => $lvuser,
        "lv"            => $lv,
        "levelset"        => $levelset,
        "eyoom_board"    => $eyoom_board,
        "eb"            => $eb,
        "latest"        => $latest,
        "shop"            => $shop,
        "ca"            => $ca,
        "it"            => $it,
        "use"            => $use,
        "qa"            => $qa,
        "switcher"        => $switcher,
        "latest_user"        => $latest_user,
    ));

 

4. 출력하고자 하는 곳에서 아래와 같이 지정합니다.


    <!--{latest_user->latest_echo()}-->

 

* 출력 테스트 결과

latest.user.class.php class calling by latest_user-> ...

 

이 부분을 릴리즈에 포함한다면 소스를 별도로 수정할 필요가 없을 것 같습니다.

 

떠오르는 대로 만들어 본 것이므로 이윰님께서 검토 부탁합니다.

감사합니다.

 

 

댓글목록2

joosam님의 댓글

profile_image
비즈팔님 제가 까막눈이라 좌송하지만 구체적으로 어떤 쓰임새에 대해 여쭤봐도 될까요?  막연하게 편리할꺼란 느낌만 있습니다 예제 ㅔ로 한 예정도만이라도.. 알고싶습니다. 즐거운 연휴 되세요..

축하합니다. 첫댓글 포인트 95포인트를 획득하였습니다.

비즈팔님의 댓글의 댓글

profile_image
위 글 말머리에 설명을 해 놓았습니다.
결론적으로
최신글용 latest.class.php소스를 손대지 않고 사용자용 method를 새로 만들어 쓰기 위한 내용입니다.
위 예시 그대로 하면 출력 테스트 결과와 같이 표시가 됩니다.
전체 13 건 - 1 페이지
번호
제목
글쓴이
사이트 내 전체검색