목록 읽기 권한에 따라 자동으로 메뉴 생성하기.. 정보
목록 읽기 권한에 따라 자동으로 메뉴 생성하기..본문
정말 허접한 실력으로 필요에 의해 만들었습니다.
head.php 공개하신거랑.. 여기저기 다른 소스들이랑 합쳐서 만들어 봤습니다.
필요하신분들 사용해 보세요.
고수님들이 더 이쁘고 쉽게 만들어 주시면 감사하겠습니다.
head.php에 sir 싸이트의 맨위 파란색 메뉴부분 입니다.
-- 소스 시작 --
<script language="JavaScript">
ns = (document.layers)? true:false
ie = (document.all)? true:false
function show(id) {
if (ns) document.layers[id].visibility = "visible"
else if (ie) document.all[id].style.visibility = "visible"
}
function hide(id) {
if (ns) document.layers[id].visibility = "hidden"
else if (ie) document.all[id].style.visibility = "hidden"
}
</script>
<table align=center width=900 style="border:#B0C0E8 2px solid; background-color:#6880D8;"><tr><td>
<div style="float:left; width:220px;"></div>
<div style="position:relative; top:0; left:0;">
<?
// Main menu
$sql = " select a.gr_id, a.gr_subject from $g4[group_table] as a left join $g4[board_table] as b on a.gr_id = b.gr_id where b.bo_list_level <= $member[mb_level] group by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++){ ?>
<div style="float:left; width:120px;position:relative;">
<div style="padding-top:5px; color:white; font: bolder larger; height:25px; text-align:center; " onmouseover="show('<?=$row[gr_id]?>')" onmouseout="hide('<?=$row[gr_id]?>')"><?=$row[gr_subject]?></div>
<?
// Sub menu
?>
<div id="<?=$row[gr_id]?>" style="border: #9DADE5 1px solid; background-color:#F6FAFF; padding:5 5 5 5; visibility:hidden; position:absolute;" onmouseover="show('<?=$row[gr_id]?>')" onmouseout="hide('<?=$row[gr_id]?>')">
<?
$sql1 = " select bo_subject, bo_table from $g4[board_table] where (bo_list_level <= $member[mb_level]) and (gr_id = '$row[gr_id]') order by bo_subject ";
$result1 = sql_query($sql1);
for ($i1=0; $row1=sql_fetch_array($result1); $i1++) {
?>
<div style="height:22px; padding-left:10px; padding-right:10px;" ><a href='<?=$g4[path]?>/bbs/board.php?bo_table=<?=$row1[bo_table]?>'><?=$row1[bo_subject]?></a></div>
<? }
echo "</div>"; // Sub menu div 닫기
echo "</div>"; // Main menu div 닫기
}
?>
</div>
</td></tr>
</table>
<div style="height:5px;"></div>
-- 소스 끝 --
head.php 공개하신거랑.. 여기저기 다른 소스들이랑 합쳐서 만들어 봤습니다.
필요하신분들 사용해 보세요.
고수님들이 더 이쁘고 쉽게 만들어 주시면 감사하겠습니다.
head.php에 sir 싸이트의 맨위 파란색 메뉴부분 입니다.
-- 소스 시작 --
<script language="JavaScript">
ns = (document.layers)? true:false
ie = (document.all)? true:false
function show(id) {
if (ns) document.layers[id].visibility = "visible"
else if (ie) document.all[id].style.visibility = "visible"
}
function hide(id) {
if (ns) document.layers[id].visibility = "hidden"
else if (ie) document.all[id].style.visibility = "hidden"
}
</script>
<table align=center width=900 style="border:#B0C0E8 2px solid; background-color:#6880D8;"><tr><td>
<div style="float:left; width:220px;"></div>
<div style="position:relative; top:0; left:0;">
<?
// Main menu
$sql = " select a.gr_id, a.gr_subject from $g4[group_table] as a left join $g4[board_table] as b on a.gr_id = b.gr_id where b.bo_list_level <= $member[mb_level] group by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++){ ?>
<div style="float:left; width:120px;position:relative;">
<div style="padding-top:5px; color:white; font: bolder larger; height:25px; text-align:center; " onmouseover="show('<?=$row[gr_id]?>')" onmouseout="hide('<?=$row[gr_id]?>')"><?=$row[gr_subject]?></div>
<?
// Sub menu
?>
<div id="<?=$row[gr_id]?>" style="border: #9DADE5 1px solid; background-color:#F6FAFF; padding:5 5 5 5; visibility:hidden; position:absolute;" onmouseover="show('<?=$row[gr_id]?>')" onmouseout="hide('<?=$row[gr_id]?>')">
<?
$sql1 = " select bo_subject, bo_table from $g4[board_table] where (bo_list_level <= $member[mb_level]) and (gr_id = '$row[gr_id]') order by bo_subject ";
$result1 = sql_query($sql1);
for ($i1=0; $row1=sql_fetch_array($result1); $i1++) {
?>
<div style="height:22px; padding-left:10px; padding-right:10px;" ><a href='<?=$g4[path]?>/bbs/board.php?bo_table=<?=$row1[bo_table]?>'><?=$row1[bo_subject]?></a></div>
<? }
echo "</div>"; // Sub menu div 닫기
echo "</div>"; // Main menu div 닫기
}
?>
</div>
</td></tr>
</table>
<div style="height:5px;"></div>
-- 소스 끝 --
추천
0
0
댓글 16개
메뉴가 어려워 보이던데..
이렇게 하니까 정말 좋습니다.
좋은팁 감사 합니다.
이렇게 하니까 정말 좋습니다.
좋은팁 감사 합니다.
깔끔한 아이디어가 좋습니다.
안타깝게도, 불여우에서 게시판 목록이 보여지지 않습니다.
고수님께서 한 번 봐주시면 좋겠습니다.
안타깝게도, 불여우에서 게시판 목록이 보여지지 않습니다.
고수님께서 한 번 봐주시면 좋겠습니다.
멋진 팁입니다.
깔끔해서 더더욱 좋네요.
깔끔해서 더더욱 좋네요.

테스트해보니 아주 좋은 팁입니다.
메뉴구성시 유용하게 사용될 것 같네요.
상단메뉴제목은 그룹명으로 처리하는 것 같은 데....
좋은 정보 감사드립니다.
메뉴구성시 유용하게 사용될 것 같네요.
상단메뉴제목은 그룹명으로 처리하는 것 같은 데....
좋은 정보 감사드립니다.
좋게 평가해 주셔서 감사합니다.
하나 문제점을 발견했는데요..
Basic 최근게시물에 들어가면 카테고리 선택하는게 있더군요. 그런데 그게 레이어 처럼 상위에 나타난다는 것입니다.
제가 올린 소스에서 z-index 를 아무리 높여도 안되더군요.
왜 그럴까요? Basic 소스를 봐도 그부분은 레이어가 아닌듯 하던데 말이에요.
혹시 원인과 해결책을 아시는분 알려주시면 감사하겠습니다.
하나 문제점을 발견했는데요..
Basic 최근게시물에 들어가면 카테고리 선택하는게 있더군요. 그런데 그게 레이어 처럼 상위에 나타난다는 것입니다.
제가 올린 소스에서 z-index 를 아무리 높여도 안되더군요.
왜 그럴까요? Basic 소스를 봐도 그부분은 레이어가 아닌듯 하던데 말이에요.
혹시 원인과 해결책을 아시는분 알려주시면 감사하겠습니다.
우와... 해보고 놀랐습니다.
이렇게 메뉴를 만드는군요.. 존경스럽습니다 ^^;;
이렇게 메뉴를 만드는군요.. 존경스럽습니다 ^^;;
sir 의 head.php를 보고 엄두가 않난는데...
테스트 해보고 용기를내 적용해 볼까 합니다.
감사합니다.
테스트 해보고 용기를내 적용해 볼까 합니다.
감사합니다.
$sql = " select a.gr_id, a.gr_subject from $g4[group_table] as a left join $g4[board_table] as b on a.gr_id = b.gr_id where b.bo_list_level <= $member[mb_level] group by gr_id ";
$sql1 = " select bo_subject, bo_table from $g4[board_table] where (bo_list_level <= $member[mb_level]) and (gr_id = '$row[gr_id]') order by bo_subject ";
어떤분이.. 순서를 수동으로 조작이 가능하게 해달라고 하시는 질답을 봐서
그냥.. 팁에 적기도 민망해서.. 끝에 달아 놓습니다.
sql의 명령어에는 order by라는게 있는데 말그대로.. 정렬쪽에 쓰입니다.
그리고 테이블 번호를 알면되는데요..
group by gr_id "; 위에 있는 녀석은 메뉴의 제목을 가져오는데.. 여기서.. gr_id의 순서입니다.
그러면.. 자신의 수서로 하자면.. group by gr_1 로 해서 gr_1의..필드
그룹의 여유필드 첫번째에.. 10 / 20 / 30 원하는 값들을.. 넣어주시면.. 그 순서로 정렬이 됩니다.
행여나를 위해서 group by gr_1+0 도 괜찮습니다.
order by bo_subject "; 는.. 게시판의 순서를.. 제목순으로 댕겨오는데요.
order by bo_order_search 이렇게 고쳐서 검색순서순으로 땡겨오고..
당연히 게시판의 검색순서를 적당히 넣어주시면 됩니다.
$sql1 = " select bo_subject, bo_table from $g4[board_table] where (bo_list_level <= $member[mb_level]) and (gr_id = '$row[gr_id]') order by bo_subject ";
어떤분이.. 순서를 수동으로 조작이 가능하게 해달라고 하시는 질답을 봐서
그냥.. 팁에 적기도 민망해서.. 끝에 달아 놓습니다.
sql의 명령어에는 order by라는게 있는데 말그대로.. 정렬쪽에 쓰입니다.
그리고 테이블 번호를 알면되는데요..
group by gr_id "; 위에 있는 녀석은 메뉴의 제목을 가져오는데.. 여기서.. gr_id의 순서입니다.
그러면.. 자신의 수서로 하자면.. group by gr_1 로 해서 gr_1의..필드
그룹의 여유필드 첫번째에.. 10 / 20 / 30 원하는 값들을.. 넣어주시면.. 그 순서로 정렬이 됩니다.
행여나를 위해서 group by gr_1+0 도 괜찮습니다.
order by bo_subject "; 는.. 게시판의 순서를.. 제목순으로 댕겨오는데요.
order by bo_order_search 이렇게 고쳐서 검색순서순으로 땡겨오고..
당연히 게시판의 검색순서를 적당히 넣어주시면 됩니다.
네스케이프.. 아니다. 파이어 폭스에 안된다고.. 그래서.. 어쩔수 없이 좀 찾았습니다.
원인은.. 뭐 알력정도라고 생각되고요.. 초기 자바루틴을 바꾸어 주어야 되더군요.. 이젠 저런 루틴이 안먹히겠습니다. http://www.sc8000.net/gn/bbs/tb.php/design_gn/24 참고글...에서 링크를 누르시면
나올겁니다.
하여간 결국 위에 자바 코딩을
<script language="JavaScript">
function getObject(objectId) {
// checkW3C DOM, then MSIE 4, then NN 4.
//
if(document.getElementById && document.getElementById(objectId)) {
return document.getElementById(objectId);
}
else if (document.all && document.all(objectId)) {
return document.all(objectId);
}
else if (document.layers && document.layers[objectId]) {
return document.layers[objectId];
} else {
return false;
}
}
function show(id) {
getObject([id]).style.visibility="visible";
}
function hide(id) {
getObject([id]).style.visibility="hidden";
}
</script>
요렇게 치환하세요.. 그럼.. 파이어폭스에서도 됩니다.
원인은.. 뭐 알력정도라고 생각되고요.. 초기 자바루틴을 바꾸어 주어야 되더군요.. 이젠 저런 루틴이 안먹히겠습니다. http://www.sc8000.net/gn/bbs/tb.php/design_gn/24 참고글...에서 링크를 누르시면
나올겁니다.
하여간 결국 위에 자바 코딩을
<script language="JavaScript">
function getObject(objectId) {
// checkW3C DOM, then MSIE 4, then NN 4.
//
if(document.getElementById && document.getElementById(objectId)) {
return document.getElementById(objectId);
}
else if (document.all && document.all(objectId)) {
return document.all(objectId);
}
else if (document.layers && document.layers[objectId]) {
return document.layers[objectId];
} else {
return false;
}
}
function show(id) {
getObject([id]).style.visibility="visible";
}
function hide(id) {
getObject([id]).style.visibility="hidden";
}
</script>
요렇게 치환하세요.. 그럼.. 파이어폭스에서도 됩니다.

감사합니다....
불여우에서 안되어서 포기하려고 했었는데....^^
불여우에서 안되어서 포기하려고 했었는데....^^
음....이런 기능들도 있군요....^^

멋진 메뉴네요 스크랩해두겠습니다 감사합니다..
와.. 좋습니다. ^^
메뉴만들기, 저같은 초보에겐 딱입니다.
좋은 팁 감사합니다.
감사합니다. ^^*