본문상단 카테고리 내 링크뒷자리 idx 값 부여 가능한지요..

본문상단 카테고리 내 링크뒷자리 idx 값 부여 가능한지요..

QA

본문상단 카테고리 내 링크뒷자리 idx 값 부여 가능한지요..

본문

영카트5 사용중인데요

상품화면 왼쪽에 1차 카테고리 메뉴가 나열되어있습니다.

링크주소를  살펴보니 /shop/list.php?ca_id=b1&idx=2  이런식으로 되어있는데요

idx 값에 따라 현재 보고있는 카테고리에 활성화 표시가 됩니다.

 

문제는 제품 아이템 선택시에는 왼쪽메뉴 활성화상태가 유지되는데

상품페이지상단 카테고리 부분 링크 클릭시 활성화가 사라집니다.

listcategory.skin.php 소스를 살펴보면 링크 끝에 idx 값을 부여하지 않더라고요.

 

요점은

idx값을 받아오기 올수 있으면 제일 좋구요

없다면 노가다 if 문 을 써서 idx 값을 넣어주려 합니다.

예)

만약 ca_id 앞두글자가 a1 을 포함하는 카테고리는 idx=0

만약 ca_id 앞두글자가 b1 을 포함하는 카테고리는 idx=1

만약 ca_id 앞두글자가 c1 을 포함하는 카테고리는 idx=2

.

.

$str .= '<li><a href="./list.php?ca_id='.$row['ca_id'].'"class="'.$sct_ct_here.'">'.$row['ca_name'].' ('.$row2['cnt'].')  </a></li>'; // LINK

위 소스중에 '.$row['ca_id'].' 뒤에 &idx=__  가 들어가야 할듯한데요

 

참고로 카테고리 순서는 바뀔수 있어서 카테고리 이름으로 idx 강제 입력 하려 합니다.

 

고수님들 부탁드립니당 ㅠ

 

/skin/shop/basic/listcategory.skin.php

 


<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$str = '';
$ca_id_len = strlen($ca_id);
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0);
$ca_cnt = $ca_id_len / 2; // 루프횟수
for ($i=0;$i<$ca_cnt;$i++) {
    switch ($i) {
        case 3:
            $str_len = 8; // like '{$ca_id}%'
            $get_len = 10; // length(ca_id)
        break;
        case 2:
            $str_len = 6;
            $get_len = 8;
        break;
        case 1:
            $str_len = 4;
            $get_len = 6;
        break;
        case 0:
            $str_len = 2;
            $get_len = 4;
        break;
    }
    $str = substr($ca_id, 0, $str_len);
    echo getMsCategory($str, $get_len, $i, $ca_id);
}

function getMsCategory($ca_id_str, $len, $no, $ca_id) {
    global $g5;
    $sql = "
        select ca_id, ca_name from {$g5['g5_shop_category_table']}
        where ca_id like '{$ca_id_str}%' and length(ca_id) = {$len} and ca_use = '1'
        order by ca_order, ca_id ";
    $result = sql_query($sql);
       $str = '<div class="sct_ct_here">';
    while ($row=sql_fetch_array($result)) {
        if (preg_match("/^{$row['ca_id']}/", $ca_id))
            $sct_ct_here = 'sct_ct_here';
        else
            $sct_ct_here = '';
            $row2 = sql_fetch(" select count(*) as cnt from {$g5['g5_shop_item_table']} where (ca_id like '{$row['ca_id']}%' or ca_id2 like '{$row['ca_id']}%' or ca_id3 like '{$row['ca_id']}%') and it_use = '1'  "); // 카운트
            $str .= '<li><a href="./list.php?ca_id='.$row['ca_id'].'"class="'.$sct_ct_here.'">'.$row['ca_name'].' ('.$row2['cnt'].')  </a></li>'; // LINK
       
        if ($str) $exists = true;
        else $exists = false;
    }
   
   
 if($len == 4){
$str .= '<ul style="background:#F0F7FF"></ul>';   // 2차 카테고리 BG 색깔지정
}
elseif($len == 6){
$str .= '<ul style="background:#F5F5F5"></ul>';   // 3차 카테고리 BG 색깔지정
}
  
    $str .= '</div>';
    if ($exists) return $str;
    else return false;
}
?>

 

 

이 질문에 댓글 쓰기 :

답변 1


$str .= '<li><a href="./list.php?ca_id='.$row['ca_id'].'&idx='.$_GET['idx'].'"class="'.$sct_ct_here.'">'.$row['ca_name'].' ('.$row2['cnt'].')  </a></li>'; // LINK

 

이렇게 하면 안 되나요?

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

회원로그인

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