웹마스터 팁

게시판 모듈에 스킨을 카테고리별 혹은 특정회원별로 구분하여 변경하게 하는 팁입니다.

이 팁은 애드온상에서는 도저히 $this->module_info->skin 을 수정할 수 없어서 꼼수로 했는데요.
(수정은 되는데 내부모듈에서 자기가 불러올 내용으로 수정해서 못불러오겠더라고요.)


zbxe/index.php 에 아래의 내용을 추가해주세요.
    /**
     * @brief ModuleHandler 객체를 생성/ 실행
     *
     * 모듈 핸들러는 Request Argument를 바탕으로 모듈을 찾아서\n
     * 객체를 생성하고 기본 정보를 setting 해준다.\n
     * ModuleHandler는 이 외에도 설치가 되어 있는지에 대한 체크를\n
     * 하여 미설치시 Install 모듈을 실행하도록 한다\n
     * 그리고 해당 모듈을 실행후 컨텐츠를 출력한다\n
     **/
    $oModuleHandler = new ModuleHandler();
    $oModuleHandler->init();
    include("./경로/change_skin.php"); // 이 사이에 여기를 추가해주세요.
    $oModule = &$oModuleHandler->procModule();
    $oModuleHandler->displayContent($oModule);

그리고 아래의 내용을 적당한 파일명으로 만드세요(파일 첨부도 해드리겠습니다.)
if(!defined("__ZBXE__")) exit();
if(Context::getRequestMethod()=="XMLRPC") return;
if(Context::get('module') == 'admin') return; // 관리자 페이지면 수행 중단

$get_skin->anime_document930largeden3 = array(
    "skin" => "anime_guestbook",
    "layout_srl" => "3452", //번호로 입력
    "search_list_count" => "1",
    "page_count" => "1",
);

// 멤버 그룹구하기 ( 그룹이 여러개일 경우 제일 마지막 정보로 저장 됨 )
if($logged_info){
    $get_MemberModel = &getModel('member');
    $get_group_list = $get_MemberModel->getMemberInfoByUserID($logged_info->user_id);

        foreach($get_group_list->group_list as $key => $val){
            $get_group_srl = $key;
        }
}

// 필요한 값을 불러오기위한 변수 정리
$get_proc .= Context::get('mid');
$get_proc .= Context::get('category');
$get_proc .= $logged_info->user_id;
$get_proc .= $get_group_srl;

// 불러온 정보가 있다면 정보 변경
if(count($get_skin->{$get_proc}) > 0){
    foreach($get_skin->{$get_proc} as $key => $val){
        $oModuleHandler->module_info->{$key} = $val;
    }
}


설명1:
$get_skin->anime_document930largeden3 = array(
    "skin" => "anime_guestbook",
    "layout_srl" => "3452", //번호로 입력
    "search_list_count" => "1",
    "page_count" => "1",
);

언어 파일과 비슷한 형식으로 만들었습니다.

$get_skin->모듈명카테고리번호회원번호그룹 등 원하시는 이름을 연달아 나열해주세요.
(언어 파일 만들듯이 여러개의 조건을 만들고 바꿀정보 내용을 추가하세요)

설명2.
$get_proc .= Context::get('mid');
$get_proc .= Context::get('category');
$get_proc .= $logged_info->user_id;
$get_proc .= $get_group_srl;

연달아 적어주신 이름을 찾기위해 설명2와 같은 형식으로 변수를 추가해줍니다.
(※ 변수 순서는 바꿀 수 있으며 $get_skin에 연달아 나열하는 순으로 변수 순서를 정해주세요.)
(※ 사용하지 않거나 추가로 사용할 비교대상이 있을 경우 추가해주세요.)

설명3.
// 불러온 정보가 있다면 정보 변경
if(count($get_skin->{$get_proc}) > 0){
    foreach($get_skin->{$get_proc} as $key => $val){
        $oModuleHandler->module_info->{$key} = $val;
    }
}
비교조건 조합문과 같은 변수명이 있다면 설정했던 내용으로 수정합니다.

참조.

$oModuleHandler 변수가 가지고 있는 값들입니다.
비교할 것과 수정할 것을 찾으셔서 적절히 활용하세요.
/*
module_srl=58
module=board
module_category_srl=1024
layout_srl=919
menu_srl=0
mid=anime_document
skin=anime_board
browser_title=xxx
description=
is_default=N
content=
open_rss=Y
header_text=
footer_text=
regdate=20080407130220
body=
use_category=Y
order_target=update_order
order_type=asc
list_count=7
search_list_count=7
except_notice=Y
consultation=N
admin_mail=
page_count=5
extra_vars=Array
default_style=webzine
display_login_info=N
display_setup_button=Y
title=xxx
sub_title=xxx 글들 입니다.
comment=xxx에 작성된 글 내용을 표시 합니다.
notice_view=N
list_view=N
comment_view=Y
display_number=N
display_author=Y
display_regdate=N
display_readed_count=Y
display_voted_count=Y
display_last_update=Y
comment_count=7
thumbnail_type=ratio
grants=Array
admin_id=Array
*/



ps :
이거 $this->module_info->skin 만 애드온에서 먹었으면 애드온으로 만들면 좋을텐데
제가 잘 모르는지 애드온에서 바꿔치기가 안되네요...

파일은 아래에 첨부하겠습니다.
(첨부파일은 주석처리 해 놓겠습니다. 꼭 한번 소스들여다 보고 수정해주세요)

ps2 :
관리자 페이지 처리 부분에 대해서 추가했습니다.
제목 글쓴이 날짜
위지웍 에디터를 오페라 브라우져에서는 사용 안하기 라르게덴 2008.07.02
[팁]페이지별 댓글 출력 초간단 팁.. [4] 키티나 2008.07.04
1차 메뉴에서 하위 메뉴 없을때 생기는 여백 없애는 방법 [7] 제로시오 2008.07.04
메뉴에 이미지 버튼 사용하기 팁이요~ 이미지첨부! [3] file Zzini.net 2008.07.05
list게시판 목록 제목 줄바꿈 안하기 [4] 팔공산 2008.07.05
폼메일 응용해서 쓰세요... [6] file 코리아프럼 2008.07.08
1.04 엡데이트후 재설치등으로 로그인안될때 해결법 [5] 좀비이 2008.07.08
다른 브라우저에서 내 사이트가 어떻게 보이나 확인하자~ [3] 비나무 2008.07.10
최근게시물에 권한주어서 회원만 내용물보게하기 [1] 팔공산 2008.07.11
댓글 입력창에 배경 이미지 삽입하는 방법 [4] 팔공산 2008.07.11
조건별로 스킨 바꾸기 file 라르게덴 2008.07.11
업그레이드 쉽고,안전하게 하기(예제 포함해서 다시 올림) [2] file wannabewize 2008.07.13
초보 헤메다가 팁//인쇄영역 확장변수 포함 [8] file 리히토 2008.07.14
자료 첨부 문제 단풍534 2008.07.15
winxp IE7 rwapm에서 한글이름파일 업로드 [7] file 공수래 2008.07.15
게시판(블로그)상단에 글쓰기버턴이나 링크넣기 [8] file 팔공산 2008.07.20
관리자만 ip 보이게 하기 [10] 老姜君 2008.07.20
로그인이 안되는 문제 [1] 젝망치 2008.07.21
로컬 설치 후 몇가지 문제점에 대해서 - 인덱싱. DB선택 등 서정일643 2008.07.22
본문의 서명과 프로필이미지를 끌어올려보자 [11] file CL님 2008.07.22