[건의] 사용자 정의용 latest class 추가에 대한 건의입니다.
짧은주소
- - 짧은주소: http://v2.eyoom.net/bbs/?t=1b7 주소복사
본문
사용자가 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-> ...
이 부분을 릴리즈에 포함한다면 소스를 별도로 수정할 필요가 없을 것 같습니다.
떠오르는 대로 만들어 본 것이므로 이윰님께서 검토 부탁합니다.
감사합니다.
좋아요!
Progress Bar 43%
댓글목록
joosam님의 댓글
비즈팔님 제가 까막눈이라 좌송하지만 구체적으로 어떤 쓰임새에 대해 여쭤봐도 될까요? 막연하게 편리할꺼란 느낌만 있습니다 예제 ㅔ로 한 예정도만이라도.. 알고싶습니다. 즐거운 연휴 되세요..
축하합니다. 첫댓글 포인트 95포인트를 획득하였습니다.
비즈팔님의 댓글
위 글 말머리에 설명을 해 놓았습니다.
결론적으로
최신글용 latest.class.php소스를 손대지 않고 사용자용 method를 새로 만들어 쓰기 위한 내용입니다.
위 예시 그대로 하면 출력 테스트 결과와 같이 표시가 됩니다.