왼쪽 카테고리 메뉴에서 제품리스트가 나올 수 있게 하는 방법이 있을까요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
왼쪽 카테고리 메뉴에서 제품리스트가 나올 수 있게 하는 방법이 있을까요?

QA

왼쪽 카테고리 메뉴에서 제품리스트가 나올 수 있게 하는 방법이 있을까요?

본문


안녕하세요

한가지 궁금한 질문이 있어 문의드립니다.


제가 영카트를 사용해 쇼핑몰을 하나 만들고 있는데요.

제품이 많지 않은터라 왼쪽 카테고리메뉴에서 1차 카테고리를 마우스오버하면 나오는 2차 카테고리 부분을

1차 카테고리 안에 등록된 제품들이 나올수 있게끔 하고싶은데요.

누르면 바로 해당 제품페이지로 이동도 가능하게끔요..


혹시 방법이 있을까요?


ffb7f2cf422661a89b6a6646922c7ed6_1503377818_1928.jpg


파일경로 : /skin/shop/​basic/boxcategory.skin.php

 

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_SKIN_URL.'/style.css">', 0);
?>
<!-- 쇼핑몰 카테고리 시작 { -->
<nav id="gnb">
    <h2>쇼핑몰 카테고리</h2>
    <ul id="gnb_1dul">
        <?php
        // 1단계 분류 판매 가능한 것만
        $hsql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '2' and ca_use = '1' order by ca_order, ca_id ";
        $hresult = sql_query($hsql);
        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
        for ($i=0; $row=sql_fetch_array($hresult); $i++)
        {
            $gnb_zindex -= 1; // html 구조에서 앞선 gnb_1dli 에 더 높은 z-index 값 부여
            // 2단계 분류 판매 가능한 것만
            $sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";
            $result2 = sql_query($sql2);
            $count = sql_num_rows($result2);
        ?>
        <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex; ?>">
            <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row['ca_id']; ?>" class="gnb_1da<?php if ($count) echo ' gnb_1dam'; ?>"><?php echo $row['ca_name']; ?></a>
            <?php
            for ($j=0; $row2=sql_fetch_array($result2); $j++)
            {
            if ($j==0) echo '<ul class="gnb_2dul" style="z-index:'.$gnb_zindex.'">';
            ?>
                <li class="gnb_2dli"><a href="<?php echo G5_SHOP_URL; ?>/item.php?it_id=<?php echo $row2['it_id']; ?>" class="gnb_2da"><?php echo $row2['it_name']; ?></a></li>
            <?php }
            if ($j>0) echo '</ul>';
            ?>
        </li>
        <?php } ?>
    </ul>
</nav>
<!-- } 쇼핑몰 카테고리 끝 -->



이 질문에 댓글 쓰기 :

답변 1

우선 답변은  상품리스트 나오는건 충분히 가능합니다


나오게하는 방법이 문제인데


상품이 많지않다는 가정하에

상품카테고리 (1차->2차->상품리스트) 가 나오게끔

쿼리를 한번더 조회해서 리스트업시키는 방법으로 List.php가 아닌 view.php로 바로가게 만들면됩니다.


샘플로 만들어봤습니다.

http://innovix.deb.co.kr/shop/list2.php?ca_id=10 

에서 좌측메뉴만 참고하세요


소스코드 수정부분


<ul id="glb_1dul">
        <?php
        // 1단계 분류 판매 가능한 것만
        $hsql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '2' and ca_use = '1' order by ca_order, ca_id ";
        $hresult = sql_query($hsql);
        $glb_zindex = 999; // glb_1dli z-index 값 설정용
        for ($i=0; $row=sql_fetch_array($hresult); $i++)
        {
            $glb_zindex -= 1; // html 구조에서 앞선 glb_1dli 에 더 높은 z-index 값 부여
            // 2단계 분류 판매 가능한 것만
            //$sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";
			$sql2 = "select it_id, ca_id, it_name from g5_shop_item where length(ca_id) = '2' and ca_id = '{$row['ca_id']}' 
						order by ca_id, it_name ";
            $result2 = sql_query($sql2);
            $count = sql_num_rows($result2);
        ?>
        <li class="glb_1dli" style="z-index:<?php echo $glb_zindex; ?>">
            <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row['ca_id']; ?>" class="glb_1da<?php if ($count) echo ' glb_1dam'; ?>"><?php echo $row['ca_name']; ?></a>
			
            <?php
            for ($j=0; $row2=sql_fetch_array($result2); $j++)
            {
            if ($j==0) echo '<ul class="glb_2dul" style="z-index:'.$glb_zindex.'">';
            ?>
				<!--
				<li class="glb_2dli"><a href="<?php// echo G5_SHOP_URL; ?>/list.php?ca_id=<?php// echo $row2['ca_id']; ?>" class="glb_2da"><?php// echo $row2['ca_name']; ?></a></li>-->
                <li class="glb_2dli"><a href="<?php echo G5_SHOP_URL; ?>/item.php?it_id=<?php echo $row2['it_id']; ?>" class="glb_2da"><?php echo $row2['it_name']; ?></a></li>
            <?php } 
            if ($j>0) echo '</ul>';
            ?>
        </li>
        <?php } ?>
    </ul>


입니다.




너무 잘됩니다ㅜㅜ

뭐라고 감사를 드려야될지ㅜㅜ

얕은 지식으로 해보려니 시간만 가고 해결은 안됐는데,

이렇게 테스트페이지까지 만들어주셔서 정말 감사드립니다!!!

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

회원로그인

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