[관리자 메뉴설정] 다국어버전 추가 메뉴 설정
다국어버전의 메뉴를 따로 영문으로 해야하는경우 필요해서 만들어 보았습니다.
전체조건
$g5['menu_table'] 테이블을 하나를 테이블 복사
관리자에서 해당 위치로 들어가면 자동테이블 create 됩니다.
$g5['menu_table_en']
[code]
/data/dbconfig.php 에 추가해야할 부분
$g5['menu_table'] = G5_TABLE_PREFIX.'menu'; // 메뉴관리 테이블
$g5['menu_table_en'] = G5_TABLE_PREFIX.'menu_en'; ==> 추가한 부분
[/code]
[code]
/admin/admin.menu100.php 에 메뉴 추가
array('100290', '메뉴설정', G5_ADMIN_URL.'/menu_list.php', 'cf_menu', 1),
array('100291', '메뉴설정(영문)', G5_ADMIN_URL.'/menu_list_en.php', 'cf_menu', 1),
[/code]
/lib/get_data.lib.php 함수 추가
[code]
function get_menu_db_en($use_mobile=0, $is_cache=false){
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];
}
$where = $use_mobile ? "me_mobile_use = '1'" : "me_use = '1'";
if( !($cache[$key] = run_replace('get_menu_db', array(), $use_mobile)) ){
$sql = " select *
from {$g5['menu_table_en']}
where $where
and length(me_code) = '2'
order by me_order, me_id ";
$result = sql_query($sql, false);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$row['ori_me_link'] = $row['me_link'];
$row['me_link'] = short_url_clean($row['me_link']);
$cache[$key][$i] = $row;
$sql2 = " select *
from {$g5['menu_table_en']}
where $where
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++) {
$row2['ori_me_link'] = $row2['me_link'];
$row2['me_link'] = short_url_clean($row2['me_link']);
$cache[$key][$i]['sub'][$k] = $row2;
}
}
}
return $cache[$key];
}
[/code]
이후 프론트에서 함수 호출하여 사용
[code]
<ul class="gnb_ul">
<?php
$menu_datas = get_menu_db_en(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="gnb_li">
<h2>
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="menu01" title="회사소개">
<?php echo $row['me_name'] ?>
</a>
</h2>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if( empty($row2) ) continue;
if($k == 0)
echo '<ul class="gnb_sub">'.PHP_EOL;
?>
<li class="gnb_2dli">
<a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>">
<?php echo $row2['me_name'] ?>
</a>
</li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</li>
<?php } ?>
</ul>
[/code]
버전 정보
첨부파일
그누보드5 스킨
2,751건좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.
slick slider를 이용한 최신글입니다. 참고 https://kenwheeler.github.io/slick/ 나리야용 : https://sir.kr/g5_skin/54951...
1. 예전 https://sir.kr/g5_ps/4533 의 "모바일 스킨" 만을 hook 처리하여 올립니다. 가장 먼저 해야 할 일은 본인의 그누버전을 55826 이상으로 올...
https://sir.kr/g5_skin/52296 https://sir.kr/qa/493461
다국어버전의 메뉴를 따로 영문으로 해야하는경우 필요해서 만들어 보았습니다. 전체조건 $g5['menu_table'] 테이블을 하나를 테이블 복사 관리자에서 해당 위치로 들어가면...
1. 밤에 문득 파일질라를 뒤적거려 보다가 그누가 안 깔려 있는 홈페이지를 하나 발견해서 한별아빠님 사이트에 회원가입하고 나서 머리털나고 처음 아미나를 세팅해 보았습니다. ht...
이용하시가 전에 먼저 트리플님의 스킨을 다운 받으셔야 합니다. 본 스킨이 포인트가 100점이라 원본 소스는 올려 드리지 못합니다. https://sir.kr/g5_skin/40...
나리야용 웹진형 최신글입니다. 설치경로 : /www/theme/BS4-Basic/widget 사용방법 [code] <!-- 위젯 시작 { --> <h3 class="h3 f-l...
2023년 3월 7일 오후 10시에 새로이 업뎃합니다. 스킨은 풀파일을 다 올렸습니다. 따라서 "주의사항"이 있습니다. 5.5.8 버전 미만의 경우 베이직 스킨의 view_c...
[게시판] 신고기능 (스크랩기능활용) => 프론트단만 먼저 처리하였습니다. 신고받은이후에 관리자단은 다음버전에 업데이트 하겠습니다. 차단까지 할려고했는데 못했습니다 => 애플...
1. basic 과 gallery 스킨 기준입니다. 여분필드 5번을 사용했습니다. ---------- 2. 첨부파일 압축을 풀고 view.head.skin.php 와 w...
댓글 10개
안녕하세요. 완전 초보인데 말씀하신
$g5['menu_table'] 테이블을 하나를 테이블 복사
이부분이 디비에서 하는 부분인가요? 지금 해보려고 하는데
디비접속하니 g5_menu만 보여서 죄송하게 질문드립니다!
감사합니다.
위에 설명대로 순서대로 따라 하시면 자동으로 생성됩니다.
감사합니다.
감사합니다~~
제가 찾던거네요 ㅎㅎ 감사합니다.
감사합니다 잘 사용하겠습니다