웹사이트 구조에 대한 논의 글 보고 문의 드림니다 ... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

웹사이트 구조에 대한 논의 글 보고 문의 드림니다 ... 정보

웹사이트 구조에 대한 논의 글 보고 문의 드림니다 ...

본문

방금 웹사이트 구조에 대한 논의 란 글 보고 대부분 이해를 할수 잇는데

한가지 메인페지는 어떻게 호출 하는건가요  ?

다른 페지는 그룹기준으로 폴터를 불러 오면 간결한데요 ...

제가 넘 몰라서 자꾸 이상한 질문만 하는것 같네요 .. 

양해 바람니다 ...


_gnusr.php 사용자 설정파일
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$gnusr = array();
$gnusr[abs_root]="/home/****"; //절대 경로
$gnusr[g4]="/home/****/g4"; //그누 절대 경로
$gnusr[root]=$gnusr[g4]."/gnusr"; //gnusr 절대 경로
$gnusr[_comm]=$gnusr[root]."/_common"; //_common 절대 경로
/* 디데이님 작성 구문 */
// 모드 판별
if (eregi('community', $bo_table) || eregi('community', $gr_id) || eregi('community', $ca_id)) $page_mode = 'community';
else if (eregi('work', $bo_table) || eregi('work', $gr_id) || eregi('work', $ca_id)) $page_mode = 'work';
else if (eregi('etc', $bo_table) || eregi('etc', $gr_id) || eregi('etc', $ca_id)) $page_mode = 'etc';
else if (eregi('test', $bo_table) || eregi('test', $gr_id) || eregi('test', $ca_id)) $page_mode = 'test';
else if (eregi('_common', $bo_table) || eregi('_common', $gr_id) || eregi('_common', $ca_id)) $page_mode = '_common';
else $page_mode = 'community'; //기본값
$ca_id = $page_mode;
$table_width = '990';
$table_width_c = '900';
$table_width_T = '950';
?>

================================================================

위 소스는 커뮤니티 그룹불러오는 페지인데요 ... 이런식으로 그룹별 설정은 이해할수 잇는데 메인 페지는 어떻게 불러 와야 하는건가요  ?

댓글 전체

앗~!! 어디서 많이 본 소스,,ㅎㅎ,

else $page_mode = 'community'; //기본값

즉 community폴더의 레이아웃이 적용됩니다.

관리자님의 공개소스와 합쳐서 좀더 진화된 설정파일을 작업하고 있습니다.
완성되는데로 작업실에 올려 놓겠습니다.
안녕하세요 ..  ㅎ ㅎ

플록님의 홈에서 보고 잘 몰라서 플록님 홈에 문의하고 여기도 문의글 또 올렷슴니다 ... 
근데 메인페지는 기본값이 없는데 어떻게 불러 오는거죠  ?

다른페지는 ?ca_id=XXXXX    이런 식으로 불러올수 잇는데요 ..
현재 그룹을 community  ,  club  ,  boar  이런 식으로 여러개를 만들고 gnusr폴터밑에 각 그룹 폴터도 만들엇슴니다 ... 

그러면 각 그룹을 불러 오는것하고 메인페지불러 오는걸 잘 몰라서요 ...
고생많으십니다.

아래 링크를 참조해서 head.php, index.php, tail.php 를 수정해줍니다.
http://www.sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=59442&page=6

아래는 특정 그룹의 실제 파일입니다.
각각의 그룹(community, club,, boar) 폴더에 아래 소스를 다섯개의 파일로 나누어 저장한다음

브라우저에서 '설치경로/?ca_id=그룹이름' 처럼 호출합니다.

소스를 보면 아시겠지만 대부분의 메뉴들이 모튤로 처리되었고 레이아웃은 CSS에서 잡아주는 방법이어서
실질적인 도움이 되실지 미지수입니다만, 참고하시라고 올립니다.

환경설정파일에서 기본값으로 처리되는 값역시 그룹을 생성해주어야 합니다.

주석처리된 모듈들은 메뉴를 구성하거나 스킨등을 검색하실때 참고하시라고 그냥 두었습니다.
CSS를 포함한 거의 대부분의 팁들이 이미 공개되어 있으므로 그누에서 검색을 통해 얻을 수 있는 것입니다.

처음 구조를 잡을때가 조금 피곤합니다.
그러나 장점이 많은 방법임에 틀림없습니다.

ps))

*하단에 시리니님의 CSS 파일을 기반으로 수정된 파일도 같이 올립니다.
**공개에 대하여 시리니님께 허락을 구하지 못한점 양해바랍니다.

*자유게시판에 올린 글들은 웹스터디/작업실로 이동해놓았습니다.

------------------------------------ top.php -----------------------------------------
<div id="fwidth">
<div id="main_image" style="background-image:url(<?=$gnusr[img]?>/rotus.gif);">

<div id="menu_nav_R">
<? include_once("$gnusr[_comm]/_mon_nav_pulldown.php"); ?>
</div>
<div id='guest_look'>
<table id="r_tb_1" width="220" height="60" border="0" radius="3" rborder="#F0F0F0" rbgcolor="transparent">
<tr>
<td valign="top" class='guest_look'>방문을 환영합니다.</td>
</tr>
</table>
<script>roundTable("r_tb_1");</script>
</div>
</div>
<div id="clearing"></div>
<div id="top_nav">
<? include_once("$gnusr[_comm]/_mon_Nav.php"); ?>
</div>
</div><!-- /fwidth -->

<div id="main_shadow"></div>


------------------------------------ nav.php -----------------------------------------
<!-- Nav -->
<table width="<?=$table_width_T?>" cellspacing="0" cellpadding="0" border='0'>
<tr>
<td>
<!-- 좌측 레이어 시작 -->
<div id="main_left">
<?=outlogin("adam_login_v1"); // 외부 로그인 ?>
<?//=outlogin("mypage"); // 외부 로그인 ?>
<!-- 공백 --><div style='height:5px;'></div>
<?// include_once("$gnusr[_comm]/_mon_nav_bo_CV.php"); ?>
<? include_once("$gnusr[_comm]/_tab_menu.php"); ?>
<!-- 공백 --><div style='height:5px;'></div>
<?=connect("basic_text"); // 현재 접속자수 ?>
<!-- 공백 --><div style='height:5px;'></div>
<?=visit("basic_text"); // 방문자수 ?>
<?//=poll("basic"); // 설문조사 ?>
<!-- 현재위치표시 -->
</div>
<!-- Nav -->
<div id="content">
<!-- ##### head end ##### -->

------------------------------------ body.php -----------------------------------------
<!-- Main -->
<!-- 중간 레이어 시작 -->
<div id="main">
<div>
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="top">
<?//=latest("bye_missu", work, 1, 50);?>
<?=latest("mon_latest_cat", my_mom, 10, 50);?>
<!-- 공백 --><div style='height:5px;'></div>
<?//=latest("latest_gd_gallery", test, 4, 10);?>
<?=latest("thumb_latest", capture_gallery, 4, 10);?>
<?// include_once("$gnusr[_comm]/_gr_cat.php"); ?>
<!-- 공백 --><div style='height:5px;'></div>
<?=latest("all_news", my_mom, 10, 50);/*헤드로 들어가니 에러*/?>
<!-- 다중공지 -->
<?// include_once("$gnusr[_comm]/_multi_notice.php"); ?>
<!-- 공백 --><div style='height:5px;'></div>
<? include("$gnusr[_comm]/_mon_gr_bo.php");?>
<!-- 공백 --><div style='height:5px;'></div>

<!-- search -->
<table width="100%" cellpadding=0 cellspacing=0>
<tr>
<td class=>
<div id="body_search">
<table bgcolor="#F4F4F4" width="450" height="33" cellspacing="0" cellpadding="0" border=0>
<colgroup width='250'>
<colgroup width='10'>
<colgroup width='180'>
<colgroup width='10'>
<tr>
<td bgcolor="#F4F4F4" class=>
<table width=100% cellpadding=0 cellspacing=0><tr><td width=25>&nbsp;</td><td><?=popular();?></td></tr></table>
</td>
<td></td>
<td class=>
<table width="100%" height="33" cellspacing="0" cellpadding="0" border=0>
<form name="fsearchbox" method="get" action="javascript:fsearchbox_submit(document.fsearchbox);">
<input type="hidden" name="sfl" value="wr_subject">
<input type="hidden" name="sop" value="and">
<tr>
<td width="10"></td>
<td width="130" valign="middle" bgcolor="#F4F4F4">
<INPUT name="stx" maxlengt=20 style="BORDER : 1px solid; width: 120px; HEIGHT: 20px; BACKGROUND-COLOR: #FFFFFF" tabIndex=1 maxlength="20"></td>
<td width="48" bgcolor="#F4F4F4"><input type="image" src="<?=$g4[path]?>/img/search_button.gif" width="48" height="25" border="0"></td>
</tr>
</form>
</table>
</td>
<td></td>
</tr>
</table>
</div>

<script language="JavaScript">
function fsearchbox_submit(f)
{
if (f.stx.value == '')
{
alert("검색어를 입력하세요.");
f.stx.select();
f.stx.focus();
return;
}

/*
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
var cnt = 0;
for (var i=0; i<f.stx.value.length; i++)
{
if (f.stx.value.charAt(i) == ' ')
cnt++;
}

if (cnt > 1)
{
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
f.stx.select();
f.stx.focus();
return;
}
*/

f.action = "<?=$g4[bbs_path]?>/search.php";
f.submit();
}
</script>
</td>
</tr>
</table>
<!-- search -->

<table width="100%" cellpadding=0 cellspacing=0 border='0'>
<colgroup width='220'>
<colgroup width='10'>
<colgroup width='220'>
<tr>
<td valign=top>
<table width="100%" cellpadding=0 cellspacing=0 class=''>
<tr>
<td valign=top>
<!-- 공백 --><div style='height:5px;'></div>
<?// echo latest("lonely", tx_mon, 5, 28);?>
<?//=latest("all_news", work, 10, 35);?>
<?//=latest("basic01", shop_notice, 5, 35);?>
<?//=latest("latest_zine01", work, 3, 35);?>
<?=//latest("latest_zine02", gallery, 3, 25);?>
<?//=latest("basic01", shop_faq, 5, 35);?>
<?=//latest("latest_zine02", gallery, 3, 25);?>
<?//=latest("basic01", shop_schedule, 5, 35);?>
<?//=latest("thumb_latest", gallery, 2, 25) ?>
</td>
</tr>
</table>
</td>
<td valign=top></td>
<td valign=top>
<table width="100%" cellpadding=0 cellspacing=0 class=''>
<tr>
<td valign=top>
<!-- 공백 --><div style='height:5px;'></div>
<?// echo latest("lonely", my_mom, 5, 28);?>
<?//=latest("all_news", free, 10, 35);?>
<?//=latest("basic01", shop_album, 5, 35);?>
<?//=latest("seari", link, 5, 35);?>
<?//=latest("car_sp", skin_test_3, 3, 35, 2);?>
<?//=latest("all", skin_test, 3, 25);?>
<?//=latest("basic01", work, 9, 35);?>
<? //echo dap("dap_gd", 게시판명, 3, 12);?>
<?//=latest("thumb_latest", gallery, 3, 12);?>
<?//=latest("latest_zine02", gallery, 3, 25);?>
<?//=latest("basic01", work, 9, 35);?>
<?//=latest("basic01", skin_test_2, 3, 35);?>
<?//=latest("basic01", link, 5, 35);?>
</td>
</tr>
</table>
</td>
</tr>
</table>


<? include_once("$gnusr[_comm]/_category_H.php"); ?>
<?// echo select_gr_list("sel_gr", mom, 30)?>
<?//=latest("all", work, 10, 39)?>
<?// include_once("$gnusr[_comm]/_test_menu_ak47.php"); ?>

</td>
</tr>
</table>
<!-- /Main 390 -->
</div>
<!-- Banner -->
</div>

------------------------------------ banner.php -----------------------------------------
<div id="main_right">
<!-- Banner -->
<table width="100%" height=""cellpadding=0 cellspacing=0 border=0>
<tr>
<td align=center valign=top class=>
<? echo latest_group("group", $ca_id, 5, 23);?>
<!-- 공백 --><div style='height:5px;'></div>
<? echo latest("solo", photo_gallery, 5, 12);?>
<!-- 공백 --><div style='height:5px;'></div>
<? echo r_latest("basic_rand", my_mom, 10, 30);?>
<!-- 공백 --><div style='height:5px;'></div>
<?// echo latest("lonely", my_mom, 5, 30);?>
<?// echo latest("lonely", recycle, 5, 30);?>
<?//=connect("basic"); // 현재 접속자수 ?>
<?//=visit("basic"); // 방문자수 ?>
<!-- 플러그인 quickGo -->
<? include_once("$gnusr[_comm]/_nav_drop.php"); ?>

</td>
</tr>
</table>
<!-- /Banner -->
</div>

------------------------------------ bottom.php -----------------------------------------
</div><!-- /content, body -->
</td>
</tr>
</table>
<!-- ##### body end ###### -->
<!-- ##### tail ###### -->
<div id="body_nav_btn" align='right'><a href='#g4_head'><img src='<?=$gnusr[img_btn]?>/btn_top.gif' border=0></a></div>
<div id="main_bottom">
<!-- tail -->
<table id="r_tb_bottom" width="900" height="" border="0" radius="3" rborder="#99AECE" rbgcolor="#99AECE">
<tr>
<td>
<div class='copyright'>No Copyright. Just Copyleft! montessori.pe.kr.&nbsp;&nbsp;<a href="<?=$gnusr[etc]?>/reject.php">이메일 무단수집 거부</a>&nbsp;|&nbsp;

<? if ($member[mb_id]) {
echo "<a href='$gnusr[etc]/point_rank.php'>포인트</a>&nbsp;|&nbsp;<a href='javascript:member_leave();'>회원탈퇴</a>";

$mb = get_member($config[cf_admin]);
echo "&nbsp;|&nbsp;";
echo "<a href='javascript:;' onclick=\"win_formmail('$mb[mb_id]','$mb[mb_name]','".base64_encode($mb[mb_email]). "');\">관리자메일</a>&nbsp;|&nbsp;";

}
//그누보드 버전표시
echo "<a href='http://sir.co.kr/bbs/board.php?bo_table=g4_pds' target='_blank'>";
echo "G";
$args = "head -1 ".$g4[path]."/HISTORY"; system($args);
echo "</a>";
?>

<script language="JavaScript">
// 탈퇴의 경우 아래 코드를 연동하시면 됩니다.
function member_leave()
{
    if (confirm("정말 회원에서 탈퇴 하시겠습니까?"))
            location.href = "<?=$g4[bbs_path]?>/member_confirm.php?url=member_leave.php";
}
</script>
</div>
</td>
</tr>
</table>
<script>roundTable("r_tb_bottom");</script>

<!-- /tail -->
</div>
<!-- 레이어 줄바꿈 -->
<div id="both"></div>


아래 소스를 style.css에 복사한다음 테스트 해보세요.

################### CSS ###################

/*가변 테이블*/
#fwidth, .fwidth
{
  width:expression(
document.body.clientWidth <= 930 || document.body.clientWidth >= 990
? (document.body.clientWidth <= 930 ? '930px' : '100%' )
: '100%'
  );
  width:100%; min-width:930px; max-width:100%; /*** Mozilla ***/
}

/*
Sirini님 CSS 기반
*수정시작(2005-07-19) style_2와 병합 정리중
*현재 사용되거나 분석된 클론들은 길게 주석처리
*/
/***************** body: etc  *****************/
/*박스 형태로 출력 */
.guest_look {
padding:0 0 0 0;
border-width:0 0 0 0;
border-style:solid;
border-color:#DDDDDD;
font-family:굴림,verdana;
}
/***************** top bg: no_img style *****************/
#top_nav {
height:30px;
padding:0 0 0 10;
border-width:1 1 1 1;
border-color:#F0F0F0;
border-style:solid;
/*none
 테두리를 표시하지 않습니다. - -
dotted
 테두리를 점으로 표시합니다. - -
dashed
 테두리를 점선으로 표시합니다. - -
solid
 테두리를 실선으로 표시합니다. - -
double
 테두리를 두 줄로 표시합니다. - -
groove
 테두리를 오른쪽 아래에서 빛을 받은 액자 모양으로 표시합니다. - -
ridge
 테두리를 왼쪽 위에서 빛을 받은 액자 모양으로 표시합니다. - -
outset
 테두리를 속으로 움푹 파인 모양으로 표시합니다. - -
inset
 테두리를 밖으로 불쑥 튀어 나온 모양으로 표시합니다.
*/
background-color:silver/*#99AECEtransparent*/;
}

/******************************* body, tail: layout *******************************/
/*네비게이션*/
#nav_top {
width:715;
margin:0 0 0 0;
background-color:#F0F0F0;
padding:0 0 0 0;
}
#nav_top_r {
width:715;
margin:0 0 0 0;
background-color:transparent;
padding:0 0 0 0;
}
#nav_search {
width:350;
margin:0 0 0 0;
}
/*main_left, main, main_right 까지*/
#body {
width:920;
float:left;
margin:0 0 0 0;
}
#t_body {
width:720px;
float:left;
margin:0 0 0 10;
}
#main_left {
width:185;
float:left;
margin:5 10 0 10;
padding:0 0 0 0;
}
/*main, main_right 까지*/
#content {
width:715;
float:left;
margin:7 0 0 0;
}
#main {
width:450;
float:left;
margin:0 10 0 0;
}
#main_right {
width:255;
float:left;
margin:0 0 0 0;
}
#main_bottom {
height:50;
width:910;
float:left;
margin:0 0 0 10;
}
/* {
clear : both;
margin : 0px;
margin-top : -7px;
padding : 6px;
text-align : center;
color : #ddd;
background-color : transparent;
border : 0;
}
*/
/*줄바꿈 clear 속성이 float 속성과 함께 사용될 경우에는 의도한 대로 표시되지 않을 수 있다.*/
#both {
width:1px;
height:0px;
clear:both;
}
/*br.clear {
clear: both;
}
*/
#clearing {
height: 0;
clear: both;
display: none;
}

/***************** top: font, link *****************/
.b {
font-weight:bold;
}

.top_link {
color:#ffffff;
font-family:verdana,굴림;
font-size:9pt;
float:left;
padding:5 0 0 20;
}
/***************** top: body_nav_gr, body_nav_bo, main_images *****************/
.top_T {
height:1px;
margin:0 0 0 0;
padding:0 0 0 0;
border-width:0 0 0 0;
border-color:#efefef;
border-style:ridge;
background-color:#99AECE/*transparent#99AECE*/;
clear: both; /*#body_nav_bo와 겹치도록 주석처리*/
}
#menu_nav_L {
height:55px;
padding:0 0 0 10;
border-width:0 0 0 0;
border-color:#efefef;
border-style:ridge;
background-color:transparent/*transparent#99AECE*/;
/*clear: both; #body_nav_bo와 겹치도록 주석처리*/
}
#menu_nav_R {
height:45px;
float:right;
padding:0 0 0 0;
border-width:0 0 0 0;
border-color:#efefef;
border-style:ridge;
background-color:transparent/*transparent#FFFFDD#99AECE*/;
clear: both;
}
#body_nav_gr {
height:30px;
padding:0 0 0 10;
border-width:0 0 0 0;
border-color:#efefef;
border-style:ridge;
background-color:orange/*transparent#99AECE*/;
/*clear: both; #body_nav_bo와 겹치도록 주석처리*/
}
#body_nav_bo {
height:25px;
float:right;
padding:0 0 0 0;
border-width:0 0 1 0;
border-color:#F0F0F0;
border-style:solid;
/*none
 테두리를 표시하지 않습니다. - -
dotted
 테두리를 점으로 표시합니다. - -
dashed
 테두리를 점선으로 표시합니다. - -
solid
 테두리를 실선으로 표시합니다. - -
double
 테두리를 두 줄로 표시합니다. - -
groove
 테두리를 오른쪽 아래에서 빛을 받은 액자 모양으로 표시합니다. - -
ridge
 테두리를 왼쪽 위에서 빛을 받은 액자 모양으로 표시합니다. - -
outset
 테두리를 속으로 움푹 파인 모양으로 표시합니다. - -
inset
 테두리를 밖으로 불쑥 튀어 나온 모양으로 표시합니다.
*/
background-color:transparent/*#99AECEtransparent*/;
clear: both;/*줄바꿈*/
}
#body_nav_btn {
height:9pt;
width:960;
float:left;
padding:0 0 0 0;
border-width:0 0 0 0;
border-color:#efefef;
border-style:solid;
}
#body_search {
width:450;
float:left;
margin:0 0 0 0;
}
#main_image {
height:80px;
margin:0 0 0 0;
padding:0 0 0 0;
background-repeat:no-repeat;
background-position:left;
background-color:transparent;
/*clear: both;*/
}
#guest_look {
margin:0 0 0 0;
padding:5 0 0 10;
}
/***************** list *****************/
.tab_list {
color: white;
height:15px;
margin:0 0 0 0;
padding:0 0 0 0;
background-color:orange;
border-width:1 1 1 1;
border-color:#efefef;
border-style:solid;
}
.tab_list_on {
color:#4b4b4b;
font-weight:bold;
height:15px;
margin:0 0 0 0;
padding:0 0 0 0;
background-color:transparent;
border-width:1 1 1 1;
border-color:#efefef;
border-style:solid;
/*none
 테두리를 표시하지 않습니다. - -
dotted
 테두리를 점으로 표시합니다. - -
dashed
 테두리를 점선으로 표시합니다. - -
solid
 테두리를 실선으로 표시합니다. - -
double
 테두리를 두 줄로 표시합니다. - -
groove
 테두리를 오른쪽 아래에서 빛을 받은 액자 모양으로 표시합니다. - -
ridge
 테두리를 왼쪽 위에서 빛을 받은 액자 모양으로 표시합니다. - -
outset
 테두리를 속으로 움푹 파인 모양으로 표시합니다. - -
inset
 테두리를 밖으로 불쑥 튀어 나온 모양으로 표시합니다.
*/
}
어 ~ 메 ~ 
언제 이렇게 많이 답변 주셧어요 ...  혹시나 하는 맘에 저녁 늦게 올랏는데 .. 역시 .. 

근데 이걸 제가 이해를 할란지 ..  암튼 열심히 해봐야 것어요 ...  ㅎ ㅎ

감사 함니다 ...
다른 부분은 완전 이해를 한것 같은데  아래 이부분 호출하는 부분은 아직도 어떻게 해야 하는건지 .. 

// 모드 판별
if (eregi('community', $bo_table) || eregi('community', $gr_id) || eregi('community', $ca_id)) $page_mode = 'community';
else if (eregi('work', $bo_table) || eregi('work', $gr_id) || eregi('work', $ca_id)) $page_mode = 'work';
else if (eregi('etc', $bo_table) || eregi('etc', $gr_id) || eregi('etc', $ca_id)) $page_mode = 'etc';
else if (eregi('test', $bo_table) || eregi('test', $gr_id) || eregi('test', $ca_id)) $page_mode = 'test';
else if (eregi('_common', $bo_table) || eregi('_common', $gr_id) || eregi('_common', $ca_id)) $page_mode = '_common';
else $page_mode = 'community'; //기본값
$ca_id = $page_mode;
$table_width = '990';
$table_width_c = '900';
$table_width_T = '950';


이 부분이 불러오는 부분인데 현재 커뮤니티 그룹메인과 커뮤니티 그룹에 속하여 잇는 게시판들을 불러 오는 설정이고요 ..  이외 다른 그룹과 또 메인화면을 불러 오려면 어떻게 해야 하는건가요  ?
예하면 그룹 club 라고 하나 더 잇으고  gnusr폴터 밑에 club 라는 폴터를 이미 만든 상태라면 어떻게 수정해야 하는건가요  ?  또 메인 페지는 요  ...
저 역시 초보라는 사실은 커뮤니티 모든분들께서 알고 계신데,,, 땀납니다.

//이 부분이 불러오는 부분인데 현재 커뮤니티 그룹메인과 커뮤니티 그룹에 속하여 잇는 게시판들을 불러 오는 설정이고요 ..
*전체 그룹에서 공통적으로 사용하는 소스입니다.

//메인 페이지는 요  ...
*메인 페이지도 하나의 그룹입니다.
즉 메인 페이지도 모든 그룹가운데 원하는 대로
else $page_mode = 'community'; //기본값
부분에서 바꿔주면 될 것입니다.
물론 따로 만들 수 있지만, 다르지 않습니다.


*정리해보면,,,,,,,

커뮤니티와 클럽이라는 두개의 그룹이 있다면 판별문은 아래와 같습니다.
if (eregi('community', $bo_table) || eregi('community', $gr_id) || eregi('community', $ca_id)) $page_mode = 'community';
else if (eregi('club', $bo_table) || eregi('club', $gr_id) || eregi('club', $ca_id)) $page_mode = 'club';

else $page_mode = 'community'; //기본값 혹은 else $page_mode = 'club';
$ca_id = $page_mode;

*부라우저에서 호출할때
설치url까지만 적어주면 기본값이 적용되며, 위 판별문에서 일치하는 값이 없을 경우 역시 기본값이 적용됨
그룹별 링크는 설치url/?ca_id=community, 설치url/?ca_id=club 형식으로 링크해줍니다.


한걸음 더 나아가 관리자님께서 공개한 소스를 응용해서,,

switch (TRUE) {

//특정폴더내의 확장자.php파일에 대하여 다음과 같이 일괄 그룹을 지정
case preg_match("/\/g4\/gnusr\/club\/.*.php$/", $_SERVER[PHP_SELF]) ://폴더

//특정 파일에 직접 그룹값을 주는 방법
case preg_match("/(club.php|club_1.php)$/", $_SERVER[PHP_SELF]) ://파일

//게시판 테이블명에 따른 그룹값을 주는 방법
case preg_match("/^(board|board1)$/", $bo_table) : //게시판 테이블
//$menu1 = "club";//이것은 관리자님의 레이어 메뉴를 위한 부분
//$menu2 = "notice";//이것은 관리자님의 레이어 메뉴를 위한 부분
$ca_id = 'club';
break;

정리해보면 다음과 같습니다.
---------------------------------------------------------------------------
<?
if (eregi('community', $bo_table) || eregi('community', $gr_id) || eregi('community', $ca_id)) $page_mode = 'community';
else if (eregi('club', $bo_table) || eregi('club', $gr_id) || eregi('club', $ca_id)) $page_mode = 'club';

else $page_mode = 'community'; //기본값 혹은 else $page_mode = 'club';
$ca_id = $page_mode;



switch (TRUE) {

//특정폴더내의 확장자.php파일에 대하여 다음과 같이 일괄 그룹을 지정
case preg_match("/\/g4\/gnusr\/club\/.*.php$/", $_SERVER[PHP_SELF]) ://폴더

//특정 파일에 직접 그룹값을 주는 방법
case preg_match("/(club.php|club_1.php)$/", $_SERVER[PHP_SELF]) ://파일

//게시판 테이블명에 따른 그룹값을 주는 방법
case preg_match("/^(board|board1)$/", $bo_table) : //게시판 테이블
//$menu1 = "club";//이것은 관리자님의 레이어 메뉴를 위한 부분
//$menu2 = "notice";//이것은 관리자님의 레이어 메뉴를 위한 부분
$ca_id = 'club';//위 세가지 경우에서 하나만 일치해도 이값이다.
break;
?>


club라는 $ca_id 값을 가지게 되는 경우를 나열해보면 다음과 같습니다.

1) 그룹값에 club 라는 텍스트가 들어있는 경우

2) 게시판 테이블명에 club 라는 텍스트가 들어있는 경우

3) g4/gnusr/club 폴더내의 ***.php 파일모두

4) 파일 위치에 관계없이 club.php와 club_1.php 라는 이름을 갖고있는 파일

5) 게시판 테이블명에 club값은 없으나 board과 board1 이라는 게시판 테이블명을 갖고있는 게시판

6) 나머지 변수 $bo_table와 $gr_id 값이 없는 일반페이지의 경우 다음과 같이 그룹값을 주는 구성 방법도 있습니다.

예)
<?
$g4_path = "../..";//개인에 맞게 수정
include_once("$g4_path/common.php");
$ca_id = "club";
include_once("$g4[path]/_head.php");
$g4[title] = "페이지 이름";

~~~~~~~페이지 내용

<?
include_once("$g4[path]/tail.php");
?>


*현재 제가 드릴 수 있는 답변의 핵심을 정리해보았습니다.
*모든소스가 그누에서 질문답변이나 팁테크를 통해 얻은 것들입니다.
*좀더 직관적으로 검토해보시고 충분한 검색을 권해드립니다.
**공부하는 차원에서 정리해봅니다. 저만의 방법으로 더 좋은 방법이 있을 수 있습니다.
구조에 여러 의문들이 조금씩 풀려 나는듯 하네요..

이런정보는 정말 돈주고 못사는 정보네요.

아직 너무 어렵고 갈길이 멀지만요.ㅠ.ㅠ

감사..
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT