권한별 메뉴 다르게 보이게하기

권한별 메뉴 다르게 보이게하기

QA

권한별 메뉴 다르게 보이게하기

답변 1

본문

권한별로 메뉴가 다르게 보이게 하기 위해 아래 링크처럼 해보았는데 기본테마에서는 무리없이 되는데 다른 테마를 이용하니 작동을 하지 않습니다. 왜 그런걸까요??

 

https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=151

 

현재 쓰고 있는 테마를 봤을때 관련 있을법한 코드는 아래와 같습니다..

많은 도움 부탁 드립니다. 감사 합니다.

 


// 모바일접속 체크
    $isMobile = preg_match('/(iPod|iPhone|Android|BlackBerry|SymbianOS|SCH-M\d+|Opera Mini|Windows CE|Nokia|SonyEricsson|webOS|PalmOS)/',$_SERVER['HTTP_USER_AGENT']);
    
    //------------------------------------------- 그누보드 메뉴D.B 가져오기 BEGIN ----------------------------------------------------
    $smenu = array();
    $smenu_code = array();
    $smenu_href = array();
    $smenu_target = array();
    
    $smenu[0][0] = $config[cf_title]; //그누보드 타이틀 = 홈페이지 제목
    $smenu_code[0][0] = "0000";
    $smenu_href[0][0] = "/";
    $smenu_target[0][0] = "_self";
    
    // 주메뉴 Query
    $sql1 = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '2' order by me_order, me_id ";
    $result1 = sql_query($sql1, false);
    
    for ($i=0; $row1=sql_fetch_array($result1); $i++) {
        $sql2 = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '4' and substring(me_code, 1, 2) = '{$row1['me_code']}' order by me_order, me_id ";
        $result2 = sql_query($sql2);
        
        $smenu[$i+1][0] = $row1['me_name'];
        $smenu_code[$i+1][0] = $row1['me_code'];
        $smenu_href[$i+1][0] = $row1['me_link'];
        $smenu_target[$i+1][0] = "_".$row1['me_target'];
        
        for ($j=0; $row2=sql_fetch_array($result2); $j++) {
                $smenu[$i+1][$j+1] = $row2['me_name'];
                $smenu_code[$i+1][$j+1] = $row2['me_code'];
                $smenu_href[$i+1][$j+1] = $row2['me_link'];
                $smenu_target[$i+1][$j+1] = "_".$row2['me_target'];
        }
    }
    
    // 메뉴에 포함된 주소인지 확인해 $id 값을 넣어주는 소스코드
    function array_search2($needle,$haystack)    { 
        foreach($haystack as $key => $array) {
        $i=0;
          foreach($array as $value) {
                // 포함되는 값을 찾음 
                if(strpos($value, $needle) !== false)  return array($key,$i);
                $i++; 
          }
        }
        return false; 
    } 

 

 

 

이 질문에 댓글 쓰기 :

답변 1


$sql1 = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '2' and me_level <= '{$member['mb_level']}' order by me_order, me_id ";
$sql2 = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '4' and substring(me_code, 1, 2) = '{$row1['me_code']}' and me_level <= '{$member['mb_level']}' order by me_order, me_id ";

레벨을 판단하는 내용이 빠져 있네요 링크처럼 설정하신게 맞다면 위 코드로 되야 합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 98,861
© SIRSOFT
현재 페이지 제일 처음으로