영문 메뉴 노출 제어

영문 메뉴 노출 제어

QA

영문 메뉴 노출 제어

본문

안녕하세요. 소스 문의 드립니다.

현재 영문페이지를 작업중인데 영문 메뉴를 추가 넣기위해 db테이블에

me_name_en , me_link_en ,  me_use_en 추가하여 관리자 menu_list.php 적용하였습니다.

저장은 잘 되고 메뉴도 잘 나오는데 문제가 me_use_en 부분인데 특정 메뉴는 사용안하려고

사용 안함으로해도 메뉴가 적용이 되지않아 문의드립니다.

한글과 따로 분류하였는데 한글페이지 me_use 부분을 같이 적용 받고 있습니다.

따로 영문을 me_use_en이 적용 받을수있게 메뉴 부분에 어떤 부분을 고쳐야할지 몰라 문의드립니다.

 

 <div class="gnb_wrap menu_wrap">
                        
                        <ul id="gnb" class="gnb">
                            <?php
                                $menu_datas = get_menu_db(0, true);
                                $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
                                $i = 0;
                                foreach( $menu_datas as $row ){
                                if( empty($row) ) continue;
                                $add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
                            ?>
                            <li class="depth1">
                                <a href="<?php echo $row['me_link_en']; ?>" target="_<?php echo $row['me_target']; ?>"><?php echo $row['me_name_en'] ?></a>
                                <?php
                                    $k = 0;
                                    foreach( (array) $row['sub'] as $row2 ){
                                    if( empty($row2) ) continue;
                                    if($k == 0)
                                    echo '<ul class="depth2">'.PHP_EOL;
                                 ?>
                            <li><a href="<?php echo $row2['me_link_en']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name_en'] ?></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>

이 질문에 댓글 쓰기 :

답변 3

/lib/get_data.lib.php 파일에서 메뉴를 불러옵니다.

function get_menu_db($use_mobile=0, $is_cache=false){ 

함수 아래에

$where = $use_mobile ? "me_mobile_use = '1'" : "me_use = '1'";

이 부분을 수정해야합니다.

영문 인수값을 넘겨 받아서 

if 문으로 "me_use_en= '1' 로 대체해야겠네요

 


function get_menu_db($use_mobile=0, $is_cache=false, $is_eng=0){
    global $g5;

    static $cache = array();

    $cache = run_replace('get_menu_db_cache', $cache, $use_mobile, $is_cache);

    $key = md5($use_mobile);

    if( $is_cache && isset($cache[$key]) ){
        return $cache[$key];
    }

    if($is_eng == 1) {
        $where = "me_use_en = '1'";
    } else {
        $where = $use_mobile ? "me_mobile_use = '1'" : "me_use = '1'";
    }

이렇게 수정해주고
영문메뉴일때는 아래와 같이 불러오면 됩니다.
$menu_datas = get_menu_db(0, true, 1);

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

회원로그인

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