관리자 메뉴 구동 방식이 궁금합니다..

관리자 메뉴 구동 방식이 궁금합니다..

QA

관리자 메뉴 구동 방식이 궁금합니다..

본문

안녕하세요
관리자 메뉴 구동 방식이 궁금해서 질문드려요.

관리자 메뉴가
아래와 같이 admin.head.php 파일에서 상단을 부르는 소스인것같다는..생각이 들고있는데..

궁금한것은 위와같이만 구성해놓고,

admin 폴더에 

menu100.php, menu200.php  등을 불러오는 것이...궁금합니다..

위의 소스로만, admin 폴더내의 menu.php 를 모두 불러와지는것이 궁금합니다..

menu100,menu200을 지정하는것이 안보이는데 제눈에는 ㅠㅠ...

해석좀 해주실수잇나요?..구동원리에대해서.. 
<?
function print_menu2($key, $no)
{
    global $menu, $auth_menu, $is_admin, $auth, $g5;

    $str .= "<ul class=\"gnb_2dul\">";
    for($i=1; $i<count($menu[$key]); $i++)
    {
        if ($is_admin != 'super' && (!array_key_exists($menu[$key][$i][0],$auth) || !strstr($auth[$menu[$key][$i][0]], 'r')))
            continue;

        if ($menu[$key][$i][4] == 1 && $gnb_grp_style == false) $gnb_grp_div = 'gnb_grp_div';
        else if ($menu[$key][$i][4] != 1 && $gnb_grp_style == true) $gnb_grp_div = 'gnb_grp_div';
        else $gnb_grp_div = '';

        if ($menu[$key][$i][4] == 1) $gnb_grp_style = 'gnb_grp_style';
        else $gnb_grp_style = '';

        $str .= '<li class="gnb_2dli"><a href="'.$menu[$key][$i][2].'" class="gnb_2da '.$gnb_grp_style.' '.$gnb_grp_div.'">'.$menu[$key][$i][1].'</a></li>';

        $auth_menu[$menu[$key][$i][0]] = $menu[$key][$i][1];
    }
    $str .= "</ul>";

    return $str;
}

?>

<script>
var tempX = 0;
var tempY = 0;

function imageview(id, w, h)
{

    menu(id);

    var el_id = document.getElementById(id);

    //submenu = eval(name+".style");
    submenu = el_id.style;
    submenu.left = tempX - ( w + 11 );
    submenu.top  = tempY - ( h / 2 );

    selectBoxVisible();

    if (el_id.style.display != 'none')
        selectBoxHidden(id);
}
</script>
   <nav id="gnb">
            <h2>관리자 주메뉴</h2>
            <script>$('#gnb').addClass('gnb_js');</script>
            <?php
            $gnb_str = "<ul id=\"gnb_1dul\">";
            foreach($amenu as $key=>$value) {
                $href1 = $href2 = '';
                if ($menu['menu'.$key][0][2]) {
                    $href1 = '<a href="'.$menu['menu'.$key][0][2].'" class="gnb_1da">';
                    $href2 = '</a>';
                } else {
                    continue;
                }
                $current_class = "";
                if (isset($sub_menu) && (substr($sub_menu, 0, 2) == substr($menu['menu'.$key][0][0], 0, 2)))
                    $current_class = " gnb_1dli_air";
                $gnb_str .= '<li class="gnb_1dli'.$current_class.'">'.PHP_EOL;
                $gnb_str .=  $href1 . $menu['menu'.$key][0][1] . $href2;
                $gnb_str .=  print_menu1('menu'.$key, 1);
                $gnb_str .=  "</li>";
            }
            $gnb_str .= "</ul>";
            echo $gnb_str;
            ?>
        </nav>



이 질문에 댓글 쓰기 :

답변 2

그누보드5의 경우,
adm/admin.lib.php 의 아래 부분에 보면

    if (!preg_match('/^admin.menu([0-9]{3}).*\.php$/', $entry, $m))

이런 구문이 있습니다.
1. admin.lib.php 하단에서 admin.menu~~로 시작하는 화일을 조사해서 배열에 담습니다
2. admin.head.php 에서 위 1번 배열을 loop로 처리해서 출력(print_menu1, print_menu2 함수 호출)합니다

답변을 작성하시기 전에 로그인 해주세요.
전체 2,639
QA 내용 검색

회원로그인

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