[제나플러스] 메인메뉴 가로로 출력하기 > 팁앤테크

본문 바로가기

사이트 내 전체검색

뒤로가기 팁앤테크

[제나플러스] 메인메뉴 가로로 출력하기

본문

가로출력을 하기 위해서는 그룹여분필드를 사용합니다..

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
/////////////////////////////////////////////////////////////////////
// FF,msie호환 그룹 및 게시판 자동메뉴 - 플록
// CSS로 구현 그룹 및 게시판의 수직,수평 배열의 융통성 확보
// 셀렉트박스 가리기(ie6이하) 추가 및 코드정리 2007년 3월 24일 토요일(연후아빠 헌정메뉴)
// 메뉴링크 페이지 하단 적절한 곳에 onmouseover="layer_view('','','','','')" 코드 추가(서브메뉴 숨김)

// 레이어 메뉴와 관련해서 그누보드 sideview.js 파일이 필요한 경우 연결합니다.
if (!function_exists("selectBoxHidden(layer_id)")) {
  echo "<script type='text/javascript' src='$g4[path]/js/sideview.js'></script>";
}
?>

<script type="text/javascript">
var save_layer = null;
function layer_view(link_id, menu_id, opt, x, y) {
  var link = document.getElementById(link_id);
  var menu = document.getElementById(menu_id);

  //for (i in link) { document.write(i + '<br/>'); } return;

  if (save_layer != null) {
    save_layer.style.display = "none";
    selectBoxVisible();
  }

  if (link_id == '')
    return;

  if (opt == 'hide') {
    menu.style.display = 'none';
    selectBoxVisible();
  }
  else {
    x = parseInt(x);
    y = parseInt(y);
    menu.style.left = get_left_pos(link) + x;
    menu.style.top  = get_top_pos(link) + link.offsetHeight + y;
    menu.style.display = 'block';
  }

  save_layer = menu;
}
</script>

<style type="text/css">
/*************************************************
여기서부터 시각적인 부분에 대한 수정을 해봅니다.
아래 소스에서 float, width 처럼 파란색으로 보여지는 속성을 키워드로
CSS 도움말 파일(팁&강좌에 있음)에서 검색해보면서 해당속성에 대한 옵션을 익힙니다.
**************************************************/

.zgroup { /*메뉴 영역*/
  float:left;/*left,right 가로배열 none 세로배열*/
  height:<?=$config[cf_menu_grouphsize]?>;
  /*padding:0 0 0 <?=$config[cf_menu_groupwsize]?>px;*/
  padding:0px;
  width:auto;
  overflow:visible;/*내용이 넘칠경우 영역을 밀어내며 표시됨*/
  border:0px solid red;
}
.zgroup_subject { /*그룹제목*/
  width:auto;
  position:relative; top:<?=$config[cf_menu_top]?>px; left:<?=$config[cf_menu_left]?>px;
  text-align:center;
  cursor:pointer;
  display:block;
}
.zgroup ul { /*서브메뉴 최상위*/
  margin:0px;
  list-style-type:none;
}
.zboard { /*게시판 레이어 영역 z-index 상위 호출문서 에서 지정*/
  width:auto;
  border:1px solid;
  border-color:#ECECEC;
  background-color:#FFFFFF;
  padding:0 0 1px 0;
  display:none;
  position:absolute;
}
.zboard_subject { /*게시판 제목*/
  width:auto;
  height:<?=$config[cf_menu_boardhsize]?>px;
  padding:6px 0 2px 10px;
  border-bottom:1px dotted;
  border-bottom-color:#DDDDDD;
  /*display:block;cursor:pointer; 포인터 영역 확대*/
}
</style>

    <table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td>
        <table width='100%' cellpadding='0' cellspacing='0' border='0'><tr>
    <?
    $pd = $config[cf_menu_groupwsize]*0.4 ;
    //접근가능그룹 여분필드 1 순서로 추출
    //조건외 제외시키고자 하는 그룹 수동으로 추가
    //$excgr = "('html', 'banner', 'guest')"; // html , banner , guest 라는 그룹은 제외시킴
    //$sql = " SELECT a.gr_id, a.gr_subject, a.gr_use_access, a.gr_9, a.gr_10, b.mb_id FROM $g4[group_table] AS a LEFT JOIN $g4[group_member_table] AS b ON a.gr_id = b.gr_id WHERE (b.mb_id = '$member[mb_id]' AND a.gr_use_access = '1' ) OR a.gr_use_access = '0' and a.gr_id not in " . $excgr . " ORDER BY a.gr_1";
    $sql = " SELECT a.gr_id, a.gr_subject, a.gr_use_access, a.gr_use_znmenu, a.gr_znmenu_num, a.gr_znmenu_target, a.gr_znmenu_link, a.gr_1, b.mb_id FROM $g4[group_table] AS a LEFT JOIN $g4[group_member_table] AS b ON a.gr_id = b.gr_id WHERE (b.mb_id = '$member[mb_id]' AND a.gr_use_access = '1' ) OR a.gr_use_access = '0' and a.gr_use_znmenu = '1' ORDER BY a.gr_znmenu_num";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++){
    //group
    echo "<td class='zgroup'>\n";
    $gSubject = ($row['gr_id'] == $gr_id)?"<span style='color:#FFFF00; font-weight:bold;'>" .$row['gr_subject']."</span>":"<span style='color:#FFFFFF; font-weight:bold;'>" .$row['gr_subject']."</span>";//그룹제목 - 해당그룹은 #323232 나머지는 #FFFFFF
    if($row['gr_znmenu_link']){
    $gLink = $row['gr_znmenu_link'];//gr_znmenu_link 예)../group/z1
    }else{
    $gLink = $g4['bbs_path'].'/'.'group.php?gr_id=' .$row['gr_id'];
    }
    echo "<span id='id_" . $row['gr_id'] . "' class='zgroup_subject' onmouseover=\"layer_view('id_" . $row['gr_id'] . "', 'menu_" . $row['gr_id'] . "', 'view', " . $row['gr_1'] . ", 0);\">";  //각 그룹여분필드를 사용하여 게시판의 위치를 잡아 줍니다.
    if($row[gr_znmenu_target]=="1")
    {
            echo "<a href='" . $gLink . "' target='_blank'>" . $gSubject . "</a>";
        $sql1 = " select count(*) as cnt from $g4[group_table] WHERE gr_use_znmenu = '1' ";
        $row1 = sql_fetch($sql1);
        $line_count = $row1[cnt];
        if ($i < ($line_count-1)) {       
        echo "<font style='font-size:8pt; color:#F9F9F9;letter-spacing:$pd;'> | </font>";
        }           

    } else {
            echo "<a href='" . $gLink . "'>" . $gSubject . "</a>";
        $sql1 = " select count(*) as cnt from $g4[group_table] WHERE gr_use_znmenu = '1' ";
        $row1 = sql_fetch($sql1);
        $line_count = $row1[cnt];
        if ($i < ($line_count-1)) {       
        echo "<font style='font-size:8pt; color:#F9F9F9;letter-spacing:$pd;'> | </font>";
        }           
    }   
            echo "</span>";
    //board
    echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr><td id='menu_" . $row['gr_id'] . "' class='zboard' onpropertychange=\"selectBoxHidden('menu_" . $row['gr_id'] . "')\">\n";
    echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr>\n";
    //게시판 권한 설정 적용, 전체 검색사용에 체크된 게시판만 검색순서에 따라 추출
    //제외보드설정
    //$excbo = "('게시판1', '게시판2', '게시판3')";
    //$sqlb = " select bo_subject, bo_table, bo_9, bo_10 from $g4[board_table] where bo_table not in {$excbo} and (bo_list_level <= $member[mb_level]) and (gr_id = '$row[gr_id]') order by bo_order_search";
    $sqlb = " select bo_subject, bo_table, bo_znlmenu, bo_znlmenulink, bo_znlmenutarget,  bo_new from $g4[board_table] where (bo_list_level <= '$member[mb_level]') and (gr_id = '$row[gr_id]') and bo_znlmenu = '1' order by bo_order_search";
    $resultb = sql_query($sqlb);
    for ($j=0; $rowb=sql_fetch_array($resultb); $j++) {
    //new icon
    $new_time = date("Y-m-d H:i:s", $g4['server_time'] - ($rowb[bo_new] * 3600));
    $sqlc = " select count(*) as cnt from {$g4[write_prefix]}{$rowb[bo_table]} where wr_datetime >= '$new_time' ";
    $row = sql_fetch($sqlc);
    if ($row[cnt] > 0)
    $new = "&nbsp;<img src='$submenu_skin_path/img/icon_new.gif' border='0' align='absmiddle'>";
    else
    $new = "";           
    $bSubject = ($rowb['bo_table'] == $bo_table)?"<img src='$submenu_skin_path/img/icl2.gif' border=0><span style='font-weight:bold;'>".$rowb['bo_subject']."</span>":"<img src='$submenu_skin_path/img/icl.gif' border=0><span>".$rowb['bo_subject']."</span>";//게시판제목 - 해당게시판은 #323232 나머지는 #323232
    //게시판별도링크
    $bLink = (!empty($rowb['bo_znlmenulink']))?$rowb['bo_znlmenulink']:$g4['bbs_path'].'/'.'board.php?bo_table=' .$rowb['bo_table'];
    if($rowb[bo_znlmenutarget]=="1")
    {
    echo "<td class='zboard_subject'><a href='" . $bLink . "' target='_blank'>" . $bSubject . "</a>$new</td>\n";
    } else {
    echo "<td class='zboard_subject'><a href='" . $bLink . "'>" . $bSubject . "</a>$new</td>\n";
    }   
    }
    echo "</tr></table>\n";
    echo "</td></tr></table>\n"; //board end
    echo "</td>\n"; //group end
    }
    ?>
    </tr></table>
    </td></tr></table>
추천0

댓글목록 1

제로님의 댓글

제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

사용필드와 설정을 자신의 홈에 맞게 설정해 주셔야 합니다..

전체 825건 26 페이지
게시물 검색
Copyright (c) 株式会社YHPLUS. All rights reserved.

사이트 정보

株式会社YHPLUS / 대표 : ZERO
〒171-0014 東京都豊島区池袋2-41-5 アーバン154 8F
050-5539-7787
오픈카카오톡 (YHPLUS) :
https://open.kakao.com/o/slfDj15d

PC 버전으로 보기