사용자 정의용 latest class 추가에 대한 건의입니다.
비즈팔
180.♡.26.213
2015-05-01 21:10
9,244
2
본문
사용자가 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님의 댓글
축하합니다. 첫댓글 포인트 95포인트를 획득하였습니다.
비즈팔님의 댓글의 댓글
결론적으로
최신글용 latest.class.php소스를 손대지 않고 사용자용 method를 새로 만들어 쓰기 위한 내용입니다.
위 예시 그대로 하면 출력 테스트 결과와 같이 표시가 됩니다.