영카트 상품분류 추가에 따른 내비게이션 추가 노출

영카트 상품분류 추가에 따른 내비게이션 추가 노출

QA

영카트 상품분류 추가에 따른 내비게이션 추가 노출

본문

안녕하세요

 

https://sir.kr/qa/408046

 

영카트 분류추가를 위해 해당 글의 답변을 참고하여 많은 파일을 수정했습니다.

 

원하는대로 거의 구현은 된 것 같은데 sct_location 부분은 여전히 3차 분류 이상 나오지를 않네요..

 

1935517851_1695022864.6837.png

 

해당 부분을 5차 분류까지 나오게 하고 싶은데 가능할까요?

 

어떤 파일을 수정하면 되는지 조차 모르겠어서 코드를 못남기겠습니다...ㅠ

 

도움 부탁드립니다.

감사합니다.

 

 

이 질문에 댓글 쓰기 :

답변 1

/lib/shop.data.lib.php 파일에서 

function get_shop_navigation_data($is_cache, $ca_id, $ca_id2='', $ca_id3='', $ca_id4='', $ca_id5='')

함수를 수정하세요. 아래 부분 참조해서 4, 5 도 생성


    $select_ca_id = $ca_id3 ? $ca_id3 : $ca_id;
    $item_categories3 = $select_ca_id ? get_shop_category_by($is_cache, 'ca_id', $select_ca_id) : array();
 
    if( strlen($select_ca_id) >= 6 && $item_categories3 && isset($item_categories3[substr($select_ca_id,0,4)]) ){
        $sub_categories = $item_categories3[substr($select_ca_id,0,4)];
 
        foreach((array) $sub_categories as $key=>$category3 ){
            if( $key === 'text' ) continue;
 
            $datas[2][] = $category3['text'];
        }
    }

 

/skin/shop/basic/navigation.skin.php 파일 수정

아래 소스 참조해서 $navi_datas[3] 과 $navi_datas[4] 도 생성


        <?php if( isset($navi_datas[2]) && $navi_datas[2] ){ ?>
        <i class="dividing-line fa fa-angle-right" aria-hidden="true"></i>
        <select class="shop_hover_selectbox category3">
            <?php foreach((array) $navi_datas[2] as $data ){ ?>
                <option value="<?php echo $data['ca_id']; ?>" data-url="<?php echo $data['url']; ?>" <?php if($ca_ids['ca_id3'] === $data['ca_id']) echo 'selected'; ?>><?php echo $data['ca_name']; ?></option>
            <?php } ?>
        </select>
        <?php } ?>

 



$select_ca_id = $ca_id3 ? $ca_id3 : $ca_id;
    $item_categories3 = $select_ca_id ? get_shop_category_by($is_cache, 'ca_id', $select_ca_id) : array();
 
    if( strlen($select_ca_id) >= 6 && $item_categories3 && isset($item_categories3[substr($select_ca_id,0,4)]) ){
        $sub_categories = $item_categories3[substr($select_ca_id,0,4)];
 
        foreach((array) $sub_categories as $key=>$category3 ){
            if( $key === 'text' ) continue;
 
            $datas[2][] = $category3['text'];
        }
    }




죄송하지만 이 부분까지 작성해주실 수 있을까요?

제가 나름 바꿔야할 것 같은 숫자만 바꿔서 해봤는데 안되네요.....ㅠ


    $select_ca_id = $ca_id4 ? $ca_id4 : $ca_id;
    $item_categories4 = $select_ca_id ? get_shop_category_by($is_cache, 'ca_id', $select_ca_id) : array();

    if( strlen($select_ca_id) >= 8 && $item_categories4 && isset($item_categories4[substr($select_ca_id,0,6)]) ){
        $sub_categories = $item_categories4[substr($select_ca_id,0,6)];

        foreach((array) $sub_categories as $key=>$category4 ){
            if( $key === 'text' ) continue;

            $datas[3][] = $category4['text'];
        }
    }

    $select_ca_id = $ca_id5 ? $ca_id5 : $ca_id;
    $item_categories5 = $select_ca_id ? get_shop_category_by($is_cache, 'ca_id', $select_ca_id) : array();

    if( strlen($select_ca_id) >= 10 && $item_categories5 && isset($item_categories4[substr($select_ca_id,0,8)]) ){
        $sub_categories = $item_categories5[substr($select_ca_id,0,8)];

        foreach((array) $sub_categories as $key=>$category5 ){
            if( $key === 'text' ) continue;

            $datas[4][] = $category5['text'];
        }
    }

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

회원로그인

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