다국어 관리자 메뉴 설정 질문

다국어 관리자 메뉴 설정 질문

QA

다국어 관리자 메뉴 설정 질문

본문

다국어 사이트 제작중입니다. index_en.php 등 언어별 필요한 파일 생성과 게시판 분리해서 만드려고 합니다.

index.php와 index_en.php로 접속했을 때 보이는 메뉴를 다르게 하기 위해, 관리자 메뉴 설정에서 영어 메뉴 필드($me_name_en)까지는 추가했는데요.

한국어 메뉴/영어 메뉴 필요한 부분만 적으면 되겠다 싶었는데, 한국어 메뉴($me_name)가 빈 값인채로 확인을 누르면 메뉴 추가가 안되고 삭제돼버리더라구요.

어떻게 하면 접속 링크에 따라 언어별 메뉴가 보이게 할 수 있을까요??

 

 

adm/menu_list.php입니다.


if (!sql_query(" DESCRIBE {$g5['menu_table']} ", false)) {
    sql_query(
        " CREATE TABLE IF NOT EXISTS `{$g5['menu_table']}` (
                  `me_id` int(11) NOT NULL AUTO_INCREMENT,
                  `me_code` varchar(255) NOT NULL DEFAULT '',
                  `me_name` varchar(255) NOT NULL DEFAULT '',
                  `me_name_en` varchar(255) NOT NULL DEFAULT '',
                  `me_link` varchar(255) NOT NULL DEFAULT '',
                  `me_target` varchar(255) NOT NULL DEFAULT '0',
                  `me_order` int(11) NOT NULL DEFAULT '0',
                  `me_use` tinyint(4) NOT NULL DEFAULT '0',
                  `me_mobile_use` tinyint(4) NOT NULL DEFAULT '0',
                  PRIMARY KEY (`me_id`)
                ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ",
        true
    );
}
 
$sql = " select * from {$g5['menu_table']} order by me_id ";
$result = sql_query($sql);
 
$g5['title'] = "메뉴통합설정";
require_once './admin.head.php';
 
$colspan = 8;
$sub_menu_info = '';
?>
 
<div class="local_desc01 local_desc">
    <p><strong>주의!</strong> 메뉴설정 작업 후 반드시 <strong>확인</strong>을 누르셔야 저장됩니다.</p>
</div>
 
<form name="fmenulist" id="fmenulist" method="post" action="./menu_list_update.php" onsubmit="return fmenulist_submit(this);">
    <input type="hidden" name="token" value="">

 
    <div id="menulist" class="tbl_head01 tbl_wrap">
        <table>
            <caption><?php echo $g5['title']; ?> 목록</caption>
            <thead>
                <tr>
                    <th scope="col">한국어 메뉴</th>
                    <th scope="col">영어 메뉴</th>
                    <th scope="col">링크</th>
                    <th scope="col">새창</th>
                    <th scope="col">순서</th>
                    <th scope="col">PC사용</th>
                    <th scope="col">모바일사용</th>
                    <th scope="col">관리</th>
                </tr>
            </thead>
            <tbody>
                <?php
                for ($i = 0; $row = sql_fetch_array($result); $i++) {
                    $bg = 'bg' . ($i % 2);
                    $sub_menu_class = '';
                    if (strlen($row['me_code']) == 4) {
                        $sub_menu_class = ' sub_menu_class';
                        $sub_menu_info = '<span class="sound_only">' . $row['me_name'] . '의 서브</span>';
                        $sub_menu_info_en = '<span class="sound_only">' . $row['me_name_en'] . '의 서브</span>';
                        $sub_menu_ico = '<span class="sub_menu_ico"></span>';
                    }
 
                    $search  = array('"', "'");
                    $replace = array('"', ''');
                    $me_name = str_replace($search, $replace, $row['me_name']);
                    $me_name_en = str_replace($search, $replace, $row['me_name_en']);
                ?>
                    <tr class="<?php echo $bg; ?> menu_list menu_group_<?php echo substr($row['me_code'], 0, 2); ?>">
                        <td class="td_category<?php echo $sub_menu_class; ?>">
                            <input type="hidden" name="code[]" value="<?php echo substr($row['me_code'], 0, 2) ?>">
                            <label for="me_name_<?php echo $i; ?>" class="sound_only"><?php echo $sub_menu_info; ?><?php echo $me_name; ?></label>
                            <input type="text" name="me_name[]" value="<?php echo get_sanitize_input($me_name); ?>" id="me_name_<?php echo $i; ?>" class="tbl_input full_input" placeholder="한국어 메뉴">
                        </td>
                        <!-- 영어 메뉴 -->
                        <td class="td_category<?php echo $sub_menu_class; ?>">
                            <label for="me_name_en_<?php echo $i; ?>" class="sound_only"><?php echo $sub_menu_info_en; ?><?php echo $me_name_en; ?></label>
                            <input type="text" name="me_name_en[]" value="<?php echo get_sanitize_input($me_name_en); ?>" id="me_name_en_<?php echo $i; ?>" class="tbl_input full_input" placeholder="영어 메뉴">
                        </td>
                        <!-- 영어 메뉴 끝 -->
                        <td>
                            <label for="me_link_<?php echo $i; ?>" class="sound_only">링크<strong class="sound_only"> 필수</strong></label>
                            <input type="text" name="me_link[]" value="<?php echo $row['me_link'] ?>" id="me_link_<?php echo $i; ?>" required class="required tbl_input full_input">
                        </td>
                        <td class="td_mng">
                            <label for="me_target_<?php echo $i; ?>" class="sound_only">새창</label>
                            <select name="me_target[]" id="me_target_<?php echo $i; ?>">
                                <option value="self" <?php echo get_selected($row['me_target'], 'self', true); ?>>사용안함</option>
                                <option value="blank" <?php echo get_selected($row['me_target'], 'blank', true); ?>>사용함</option>
                            </select>
                        </td>
                        <td class="td_num">
                            <label for="me_order_<?php echo $i; ?>" class="sound_only">순서</label>
                            <input type="text" name="me_order[]" value="<?php echo $row['me_order'] ?>" id="me_order_<?php echo $i; ?>" class="tbl_input" size="5">
                        </td>
                        <td class="td_mng">
                            <label for="me_use_<?php echo $i; ?>" class="sound_only">PC사용</label>
                            <select name="me_use[]" id="me_use_<?php echo $i; ?>">
                                <option value="1" <?php echo get_selected($row['me_use'], '1', true); ?>>사용함</option>
                                <option value="0" <?php echo get_selected($row['me_use'], '0', true); ?>>사용안함</option>
                            </select>
                        </td>
                        <td class="td_mng">
                            <label for="me_mobile_use_<?php echo $i; ?>" class="sound_only">모바일사용</label>
                            <select name="me_mobile_use[]" id="me_mobile_use_<?php echo $i; ?>">
                                <option value="1" <?php echo get_selected($row['me_mobile_use'], '1', true); ?>>사용함</option>
                                <option value="0" <?php echo get_selected($row['me_mobile_use'], '0', true); ?>>사용안함</option>
                            </select>
                        </td>
                        <td class="td_mng">
                            <?php if (strlen($row['me_code']) == 2) { ?>
                                <button type="button" class="btn_add_submenu btn_03 ">추가</button>
                            <?php } ?>
                            <button type="button" class="btn_del_menu btn_02">삭제</button>
                        </td>
                    </tr>
                <?php
                }
 
                if ($i == 0) {
                    echo '<tr id="empty_menu_list"><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
                }
                ?>
            </tbody>
        </table>
    </div>
 
    <div class="btn_fixed_top">
        <button type="button" onclick="return add_menu();" class="btn btn_02">메뉴추가<span class="sound_only"> 새창</span></button>
        <input type="submit" name="act_button" value="확인" class="btn_submit btn ">
    </div>
 
</form>

 

이 질문에 댓글 쓰기 :

답변 1

menu_list_update.php

여기에서 데이터 잘 받는지, sql문은 잘 작성되고 있는지 검토를 우선 해보시는게 좋을 듯 해요

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

회원로그인

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