테스트 사이트 - 개발 중인 베타 버전입니다

카테고리 좌측메뉴 가로칸수 맘대로 조절하기

· 15년 전 · 553

shop/boxcategory.inc.php 파일을 수정하기 전 백업은 필수~~!!

좌측 카테고리가 가로 한칸으로 출력됩니다. 물론 2차 카테고리도 1칸으로 출력됩니다.
그래서 칸 수를 조절하게 만들어 봤습니다.

아래 소스를 조금만 손보시면 가로 메뉴를 만들 수 있겠네요.
제 홈페이지에 맞춘거라 에러가 날 수 있습니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

//
// 2단계 분류 레이어 표시
//
$menu = ""; // 메뉴 레이어 임시저장 변수 (처음엔 아무값도 없어야 합니다.)
$sub_menu_left = 180; // 2단계 메뉴 왼쪽 좌표 (1단계 좌표에서 부터) // 레이어 위치 조정
$list_mod = 1;  // 1단계 가로갯수
$list_mod2 = 1;  // 2단계(레이어) 가로갯수
?>
<table bgcolor=#FFFFFF width=100% cellpadding=0 cellspacing=0 border=0>
<?
echo "<tr>";
echo "<td><table width=100% border=0 cellpadding=0 cellspacing=0><tr>";
// 1단계 분류 판매가능한것만
$hsql = " select ca_id, ca_name from $g4[yc4_category_table]
          where length(ca_id) = '2'
          and ca_use = '1'
          order by ca_id ";
$hresult = sql_query($hsql);
$hnum = @mysql_num_rows($hresult);
for ($i=0; $row=sql_fetch_array($hresult); $i++) { ////////////////////////////////////////////////////////////////////////////////////// 1단계 분류 반복

    if ($i > 0 && $i % $list_mod == 0) { echo "</tr>\n\n<tr>\n"; }

    // 2단계 분류
    $menubody = "";
    $onmouseover = "";
    $onmouseout  = "";
    $sql2 = " select ca_id, ca_name from $g4[yc4_category_table]
               where LENGTH(ca_id) = '4'
                 and SUBSTRING(ca_id,1,2) = '$row[ca_id]'
                 and ca_use = '1'
               order by ca_id ";
    $result2 = sql_query($sql2);
    $hnum2 = @mysql_num_rows($result2);
    for ($j=0; $row2=sql_fetch_array($result2); $j++) { ////////////////////////////////////////////////////////////////////////////////////// 2단계 분류 반복

      if ($j > 0 && $j % $list_mod2 == 0) { $menubody .= "</tr>\n\n<tr>\n"; }
        $menubody .= "<td valign=middle height='22'><a href='$g4[shop_path]/list.php?ca_id=$row2[ca_id]'>";
        $menubody .= "$row2[ca_name]</a>";
        $exists = true;
        $menubody .= "</td>";

    } ////////////////////////////////////////////////////////////////////////////////////// 2단계 분류 반복 끝

// 나머지 td 를 채운다.
if (($cnt = $j%$list_mod2) != 0)
for ($k=$cnt; $k<$list_mod2; $k++)
$menubody .= "<td>&nbsp;</td>\n";
$menubody .= "</tr>";

    if ($menubody)
    {
        $onmouseover = " layer_view('mmenu{$i}', 'mmenu_layer{$i}', 'view', $sub_menu_left, -22); ";
        $onmouseout  = " layer_view('mmenu{$i}', 'mmenu_layer{$i}', 'hide'); ";
    }

    $category_link = "<a href='$g4[shop_path]/list.php?ca_id=$row[ca_id]'>";  // 메뉴링크
    if (preg_match("/^$row[ca_id]/", $ca_id)) { $font = "<font style='color:0099ff;font-size:11;font-weight:bold;'>"; }else { $font = "<font style='color:666666;font-size:11;'>"; } // 폰트 색상

    echo "<td height='22' id='mmenu{$i}' onmouseover=\"$onmouseover\" onmouseout=\"$onmouseout\">";
    echo "<table cellpadding=0 cellspacing=0  width=100%><tr>";
    echo "<td>$category_link$font$row[ca_name]</a>\n";
    echo "</td></tr></table>";

    if ($menubody)
    {
        echo "<div id='mmenu_layer{$i}' style='width:180px; display:none; position:absolute; z-index:999;'>";
        echo "<table cellpadding=2 cellspacing=2 bgcolor=#333333 width=100%><tr><td bgcolor=#FFFFFF style='padding:0 0 0 5'>";
        echo "<table border=0 width=100% cellpadding=0 cellspacing=0>$menubody</table>";
        echo "</td></tr></table>";
        echo "</div>";
    }

    echo "</td>\n";

} ////////////////////////////////////////////////////////////////////////////////////// 1단계 분류 반복 끝

// 나머지 td 를 채운다.
if (($cnt = $i%$list_mod) != 0)
    for ($k=$cnt; $k<$list_mod; $k++)
    echo "<td>&nbsp;</td>\n";
    echo "</tr></table></td></tr>";

if ($i==0)
    echo "<tr><td height=50 align=center>등록된 카테고리가 없습니다.</td></tr>\n";
?>
</table>

<?=$menu?>

<script language="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";

    if (opt == 'hide')
    {
        menu.style.display = 'none';
    }
    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>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1111
1107
1105
1102
1099
1098
1097
1101
1096
1132
1094
1092
1091
1088
1087
1083
1082
1076
1068
1056