웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
조건별로 스킨 바꾸기
2008.07.11 22:13
게시판 모듈에 스킨을 카테고리별 혹은 특정회원별로 구분하여 변경하게 하는 팁입니다.
이 팁은 애드온상에서는 도저히 $this->module_info->skin 을 수정할 수 없어서 꼼수로 했는데요.
(수정은 되는데 내부모듈에서 자기가 불러올 내용으로 수정해서 못불러오겠더라고요.)
zbxe/index.php 에 아래의 내용을 추가해주세요.
그리고 아래의 내용을 적당한 파일명으로 만드세요(파일 첨부도 해드리겠습니다.)
설명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 :
관리자 페이지 처리 부분에 대해서 추가했습니다.
이 팁은 애드온상에서는 도저히 $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 :
관리자 페이지 처리 부분에 대해서 추가했습니다.
태그 연관 글
- [2016/03/28] 묻고답하기 이미 작성한 게시판 글들의 분류(카테고리) 일괄 업데이트 *4
- [2014/06/05] 묻고답하기 카테고리별 관리자들에게 SMS전송을 하고 싶습니다. *3
- [2014/04/15] 묻고답하기 위젯을 이용해서 게시판을 나타낼때 카테고리 처리 문제가 생겼습니다. *3
- [2014/02/20] 묻고답하기 스케치북 모바일 게시판에서 2차 카테고리 문의 *1
- [2012/09/05] 묻고답하기 카테고리가 있는 게시판 글이 최신글 목록에 표시되지 않습니다
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
위지웍 에디터를 오페라 브라우져에서는 사용 안하기 | 라르게덴 | 2008.07.02 |
[팁]페이지별 댓글 출력 초간단 팁.. [4] | 키티나 | 2008.07.04 |
1차 메뉴에서 하위 메뉴 없을때 생기는 여백 없애는 방법 [7] | 제로시오 | 2008.07.04 |
메뉴에 이미지 버튼 사용하기 팁이요~ 이미지첨부! [3] | Zzini.net | 2008.07.05 |
list게시판 목록 제목 줄바꿈 안하기 [4] | 팔공산 | 2008.07.05 |
폼메일 응용해서 쓰세요... [6] | 코리아프럼 | 2008.07.08 |
1.04 엡데이트후 재설치등으로 로그인안될때 해결법 [5] | 좀비이 | 2008.07.08 |
다른 브라우저에서 내 사이트가 어떻게 보이나 확인하자~ [3] | 비나무 | 2008.07.10 |
최근게시물에 권한주어서 회원만 내용물보게하기 [1] | 팔공산 | 2008.07.11 |
댓글 입력창에 배경 이미지 삽입하는 방법 [4] | 팔공산 | 2008.07.11 |
조건별로 스킨 바꾸기 | 라르게덴 | 2008.07.11 |
업그레이드 쉽고,안전하게 하기(예제 포함해서 다시 올림) [2] | wannabewize | 2008.07.13 |
초보 헤메다가 팁//인쇄영역 확장변수 포함 [8] | 리히토 | 2008.07.14 |
자료 첨부 문제 | 단풍534 | 2008.07.15 |
winxp IE7 rwapm에서 한글이름파일 업로드 [7] | 공수래 | 2008.07.15 |
게시판(블로그)상단에 글쓰기버턴이나 링크넣기 [8] | 팔공산 | 2008.07.20 |
관리자만 ip 보이게 하기 [10] | 老姜君 | 2008.07.20 |
로그인이 안되는 문제 [1] | 젝망치 | 2008.07.21 |
로컬 설치 후 몇가지 문제점에 대해서 - 인덱싱. DB선택 등 | 서정일643 | 2008.07.22 |
본문의 서명과 프로필이미지를 끌어올려보자 [11] | CL님 | 2008.07.22 |