테스트 사이트 - 개발 중인 베타 버전입니다

3차 메뉴 및 내용관리 페이지 타이틀 제작

· 2년 전 · 481 · 1

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개

개발 23년차이며 작업관련해서 먼저 오픈톡으로 문의 주세요
먼저는 해당 페이지를 보고 3차 메뉴는 선언이 되어 있다면 해당 db도 봐야 할듯 합니다.
ftp 정보를 받아서 해당 디버깅을 해서 확인해 봐야 할듯 싶습니다.
문의전화 070-7613-7669
오픈톡 https://open.kakao.com/me/flyweb

게시글 목록

번호 제목
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