계정별이나 등급별로 메뉴 보이고 안보이게 처리

계정별이나 등급별로 메뉴 보이고 안보이게 처리

QA

계정별이나 등급별로 메뉴 보이고 안보이게 처리

본문

안녕하세요?

계정 id별이나 등급별로 관련된 메뉴만 보이게 처리하고 싶은데..

현재는 메뉴 관리자에 메뉴설정에 입력된 부분들 자동으로 끌고 오게끔 소스가 적용되어있는데..

이렇게 분리시켜 보이게 처리하려면 직접소스로 처리를 해야하는걸까요?

<?  if($member['mb_id']=='abc') { ?>보이게할 메뉴 직접소스 <}?> 이렇게 넣으면 될까요?

아니면 아래 메뉴 소스에서 수정해서 가능할까요?

관련 테마나 스킨 다운받아 처리할 수 있음 더 편하고 좋을거같아요~

 

그리고 같은 게시판의 디비들인데 계정별로 특정 필드값이 ccc인 값 리스트들만 보이게 처리하려면

리스트 스킨 부분에서 수정해줘야할까요? 제가 잘 몰라서..팁이라도 알려주시면 정말 감사드리겠습니다.

 

현재 메뉴 소스는 다음과 같습니다.

 <nav id="gnb">
        <h2>메인메뉴</h2>
        <div class="gnb_wrap">
            <ul id="gnb_1dul">
                <li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn"><i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li>
                <?php
                $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);
                $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
                $menu_datas = array();

                for ($i=0; $row=sql_fetch_array($result); $i++) {
                    $menu_datas[$i] = $row;

                    $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);
                    for ($k=0; $row2=sql_fetch_array($result2); $k++) {
                        $menu_datas[$i]['sub'][$k] = $row2;
                    }

                }

                $i = 0;
                foreach( $menu_datas as $row ){
                    if( empty($row) ) continue; 
                ?>
                <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
                    <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
                    <?php
                    $k = 0;
                    foreach( (array) $row['sub'] as $row2 ){

                        if( empty($row2) ) continue; 

                        if($k == 0)
                            echo '<span class="bg">하위분류</span><ul class="gnb_2dul">'.PHP_EOL;
                    ?>
                        <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li>
                    <?php
                    $k++;
                    }   //end foreach $row2

                    if($k > 0)
                        echo '</ul>'.PHP_EOL;
                    ?>
                </li>
                <?php
                $i++;
                }   //end foreach $row

                if ($i == 0) {  ?>
                    <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
                <?php } ?>
            </ul>
            <div id="gnb_all">
                <h2>전체메뉴</h2>
                <ul class="gnb_al_ul">
                    <?php
                    
                    $i = 0;
                    foreach( $menu_datas as $row ){
                    ?>
                    <li class="gnb_al_li">
                        <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
                        <?php
                        $k = 0;
                        foreach( (array) $row['sub'] as $row2 ){
                            if($k == 0)
                                echo '<ul>'.PHP_EOL;
                        ?>
                            <li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><i class="fa fa-caret-right" aria-hidden="true"></i> <?php echo $row2['me_name'] ?></a></li>
                        <?php
                        $k++;
                        }   //end foreach $row2

                        if($k > 0)
                            echo '</ul>'.PHP_EOL;
                        ?>
                    </li>
                    <?php
                    $i++;
                    }   //end foreach $row

                    if ($i == 0) {  ?>
                        <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
                    <?php } ?>
                </ul>
                <button type="button" class="gnb_close_btn"><i class="fa fa-times" aria-hidden="true"></i></button>
            </div> <!--gnb_all -->    

이 질문에 댓글 쓰기 :

답변 1

와 감사합니다~ 덕분에 너무 간편하게 적용했어요^^

혹시 같은 게시판의 디비들인데 계정별로 특정 필드값인 디비 리스트들만 보이게 처리하려면(예를들어 아이디 abc 계정으로 들어갈 경우 특정 필드값이 abc인 디비들만 보여지게 하는 방법이요)
<?  if($member['mb_id']=="abc") { ?>
 $wr_3='abc';
이런식으로 조건문 넣어서 처리해야할거같은데..
리스트 스킨 부분에서만 수정해주면 될까요? 소스도 맞는지 모르겠구..
제가 잘 몰라서..이부분도 혹시 알려주실 수 있을까요? 아니면 팁이라도 알려주시면 정말 감사드리겠습니다.

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

회원로그인

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