3차 메뉴를 제가 원하는 소스대로 만들어 주실 수 있으신지요
아래 코드를 활용해서 제작이 가능 해야 합니다
전 이렇게 하는게 편해서도 기존 그누보드 기본으로 제공 하는 것은 너무 어려움이 많아서요
아래 코드가 메뉴를 가져오는 것이구요
<?
//메뉴를 반환
function get_menu_list($page_arr=array()){
global $g5;
$sql="select * from {$g5['menu_table']}
where me_use='1'
and length(me_code)='2'
order by me_order,me_id";
$result=sql_query($sql,false);
$menu_data_topmenu="";
$menu_data_momenu="";
$menu_data_submenu="";
for ($i=0; $row=sql_fetch_array($result); $i++){
$sql2="select * from {$g5['menu_table']}
where me_use='1'
and length(me_code)='4'
and substring(me_code, 1, 2)='{$row['me_code']}'
order by me_order, me_id ";
$result2=sql_query($sql2);
$num2=sql_num_rows($result2);
if($num2>0){
$n ++;
$menu_data_topmenu.="[menu href='$row[me_link]' target='_".$row[me_target]."' menu]";
$menu_data_momenu.="[menu href='#' menu]";
$menu_data_topmenu.=$row['me_name'];
$menu_data_momenu.=$row['me_name'];
$menu_data_topmenu.="[arrow]";
$menu_data_momenu.="[arrow]";
$menu_data_topmenu.="[submenu]";
$menu_data_momenu.="[submenu]";
for ($k=0; $row2=sql_fetch_array($result2); $k++){
if($k>0){
$menu_data_topmenu.="[divider]";
$menu_data_momenu.="[divider]";
}
if($page_arr[page_title]==$row['me_name']){
if($page_arr[page_sub_title]==$row2['me_name']){
$menu_data_submenu.="[item href='$row2[me_link]' target='_".$row2[me_target]."' class='active' item]{$row2[me_name]} [item-arrow]";
}else{
$menu_data_submenu.="[item href='$row2[me_link]' target='_".$row2[me_target]."' item]{$row2[me_name]} [item-arrow]";
}
}
$menu_data_topmenu.="[item href='$row2[me_link]' target='_".$row2[me_target]."' item]{$row2[me_name]} [item-arrow]";
$menu_data_momenu.="[item href='$row2[me_link]' target='_".$row2[me_target]."' item]{$row2[me_name]} [item-arrow]";
}
$menu_data_topmenu.="[/submenu]";
$menu_data_topmenu.="[/menu]";
$menu_data_momenu.="[/submenu]";
$menu_data_momenu.="[/menu]";
}else{
$menu_data_topmenu.="[menu href='$row[me_link]' target='_".$row['me_target']."' menu]";
$menu_data_topmenu.=$row['me_name'];
$menu_data_topmenu.="[/menu]";
$menu_data_momenu.="[menu href='$row[me_link]' target='_".$row['me_target']."' menu]";
$menu_data_momenu.=$row['me_name'];
$menu_data_momenu.="[/menu]";
}
}
$menu_data[topmenu]=$menu_data_topmenu;
$menu_data[momenu]=$menu_data_momenu;
$menu_data[submenu]=$menu_data_submenu;
return $menu_data;
}
function get_page_title(){
global $g5,
$pagelist,
$_SERVER,
$qaconfig,
$faq_list,
$co,
$fm,
$fm_id,
$bo_table,
$board,
$member,
$group;
$mkey="p00";
$snum=000;
$skey=0;
$h_url=$_SERVER['PHP_SELF'];
$r_url=$_SERVER['REQUEST_URI'];
$r_url_arr=explode("?",$r_url);
$r_url=$r_url_arr[1];
$h_ary=explode('/',$h_url);
$chk_url=$h_ary[count($h_ary)-1];
//$pagelist[$mkey][]=array("000","NONAME",G5_URL."/".$chk_url,"self");
if($co[co_id]){
//내용관리
$mkey="c00";
$chk_url="/bbs/content.php?co_id=$co[co_id]";
$pagelist[$mkey][]=array("000",$co['co_subject'],G5_URL."/".$chk_url,"self",true,true);
}else if($qaconfig[qa_title]){
//1:1 문의
$mkey="q00";
$chk_url="/bbs/qalist.php";
$pagelist[$mkey][]=array("000",$qaconfig['qa_title'],G5_URL."/".$chk_url,"self",true,true);
}else if($fm['fm_subject']){
//faq
$mkey="f00";
$chk_url="/bbs/faq.php?fm_id=$fm_id";
$pagelist[$mkey][]=array("000",$fm['fm_subject'],G5_URL."/".$chk_url,"self",true,true);
}else if($bo_table){
$mkey="b00";
$chk_url="/bbs/board.php?bo_table=$bo_table";
$pagelist[$mkey][]=array("000",$board[bo_subject],G5_URL."/".$chk_url,"self",true,true);
}else if($group['gr_id']){
$mkey="b00";
$chk_url="/bbs/group.php?gr_id=$group[gr_id]";
$pagelist[$mkey][]=array("000",$group[gr_subject],G5_URL."/".$chk_url,"self",true,true);
}else{
foreach($pagelist as $key => $val){
for($i=0; $i<count($pagelist[$key]); $i++){
$purl=$pagelist[$key][$i][2];
if(strpos($purl,$chk_url)){
$mkey=$key;
$snum=$pagelist[$key][$i][0];
$skey=$i;
$is_break=true;
}
}
if($is_break) break;
}
}
//메뉴 설정에 지정된 메뉴
$sql="SELECT * from {$g5['menu_table']}
where me_link like '%{$chk_url}'";
$row=sql_fetch($sql);
if($row[me_id]){
$s_code=substr($row[me_code],0,2);
$mkey="m".$s_code;
$k=0;
if(strlen($row[me_code])==2){
$pagelist[$mkey][]=array('000',$row[me_name],$row[me_link],$row[me_target],true,true);
}else{
$sql2="SELECT * from {$g5['menu_table']}
where me_code='$s_code'";
$row2=sql_fetch($sql2);
$pagelist[$mkey][]=array('000',$row2[me_name],$row2[me_link],$row2[me_target],true,true);
}
$sql3="SELECT * from {$g5['menu_table']}
where me_code like '{$s_code}%'
and length(me_code)='4'
and me_link='$row[me_link]'
order by me_order, me_id";
$res3=sql_query($sql3);
for($i=0; $row3=sql_fetch_array($res3); $i++){
$k ++;
$l_code="0".substr($row3[me_code],2,2);
if(strpos($row3[me_link],$chk_url)!== false){
$snum=$l_code;
$skey=$k;
}
$pagelist[$mkey][]=array($l_code,$row3[me_name],$row3[me_link],$row3[me_target],true,true);
}
}
$pages=array();
if($mkey){
$pages[page]=$pagelist[$mkey];
$pages[set]=$snum;
$pages[page_title]=$pagelist[$mkey][0][1];
$pages[page_link]=$pagelist[$mkey][0][2];
$pages[page_target]=$pagelist[$mkey][0][3];
$pages[page_sub_title]=$pagelist[$mkey][$skey][1];
$pages[page_sub_link]=$pagelist[$mkey][$skey][2];
$pages[page_sub_target]=$pagelist[$mkey][$skey][3];
$pages[use_leftmenu]='y';
$pages[use_pagetitle]='y';
if($pagelist[$mkey][$skey][4]==false) $pages[use_leftmenu]='n';
if($pagelist[$mkey][$skey][4]==true) $pages[use_leftmenu]='y';
if($pagelist[$mkey][$skey][5]==false) $pages[use_pagetitle]='n';
if($pagelist[$mkey][$skey][5]==true) $pages[use_pagetitle]='y';
if($r_url) $pages[page_sub_link].="?$r_url";
}
return $pages;
}
?>
아래 코드는 메인 메뉴를 가져오는 것입니다
<?
$tmenu=$g5[menu_list][topmenu];
$tmenu=str_replace("[menu ","<li><a ",$tmenu);
$tmenu=str_replace(" menu]"," >",$tmenu);
$tmenu=str_replace("[/menu]","</a></li>",$tmenu);
$tmenu=str_replace("[submenu]","<div class='dep2'><ul class='depth2'>",$tmenu);
$tmenu=str_replace("[/submenu]","</ul></div>",$tmenu);
$tmenu=str_replace("[divider]","",$tmenu);
$tmenu=str_replace("[item ","<li><a ",$tmenu);
$tmenu=str_replace(" item]"," >",$tmenu);
$tmenu=str_replace("[/item]","</a></li>",$tmenu);
$tmenu=str_replace("[arrow]","</a>",$tmenu);
$tmenu=str_replace("[item-arrow]","",$tmenu);
echo $tmenu;
?>
아래 코드는 서브메뉴 입니다
<?
$stmenu=$g5[menu_list][submenu];
$stmenu=str_replace("[item ","<li><a ",$stmenu);
$stmenu=str_replace(" item]",">",$stmenu);
$stmenu=str_replace("[/item]","</li>",$stmenu);
$stmenu=str_replace("[item-arrow]","</a></li>",$stmenu);
echo $stmenu;
?>
페이지 타이틀 가져오는 부분
if($option[0]) $page_title=$option[0];
else $page_title=$g5[page_ary][page_sub_title];
?>
<link rel="stylesheet" href="<?=$sw_skin_url?>/style.css">
<div class="subpage-header">
<p><?=$page_title?></p>
</div>
메뉴를 생성하는 부분을 가지고 메인메뉴 및 서브메뉴 및 서브 타이틀 이렇게 간결하게 만들 수가 있습니다.
이것을 활용해서 3차 메뉴도 되게 하려고 합니다
그리고 이상하게 내용관리라던지 FAQ 라던지 이것은 못 가져오는 것 같은데 이것도 혹시 봐주시면 감사 드리겠습니다.
댓글 1개
게시글 목록
| 번호 | 제목 |
|---|---|
| 67866 | |
| 67864 | |
| 67861 | |
| 67858 | |
| 67852 | |
| 67843 | |
| 67835 | |
| 67832 | |
| 67825 | |
| 67823 | |
| 67820 | |
| 67813 | |
| 67812 | |
| 67807 | |
| 67802 | |
| 67798 | |
| 67795 | |
| 67791 | |
| 67788 | |
| 67784 | |
| 67778 | |
| 67775 | |
| 67772 | |
| 67770 | |
| 67767 | |
| 67765 | |
| 67758 | |
| 67756 | |
| 67754 | |
| 67750 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기