안녕하세요
영카트 분류추가를 위해 해당 글의 답변을 참고하여 많은 파일을 수정했습니다.
원하는대로 거의 구현은 된 것 같은데 sct_location 부분은 여전히 3차 분류 이상 나오지를 않네요..

해당 부분을 5차 분류까지 나오게 하고 싶은데 가능할까요?
어떤 파일을 수정하면 되는지 조차 모르겠어서 코드를 못남기겠습니다...ㅠ
도움 부탁드립니다.
감사합니다.
답변 1개 / 댓글 4개
채택된 답변
+20 포인트
eyekiss
2년 전
/lib/shop.data.lib.php 파일에서
function get_shop_navigation_data($is_cache, $ca_id, $ca_id2='', $ca_id3='', $ca_id4='', $ca_id5='')
함수를 수정하세요. 아래 부분 참조해서 4, 5 도 생성
Copy
$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] 도 생성
Copy
<?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 } ?>
답변에 대한 댓글 4개
Suprussy73
2년 전
eyekiss
2년 전
[code]
$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'];
}
}
[/code]
$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'];
}
}
[/code]
eyekiss
2년 전
저도 직접 해본게 아니라서 안되는 부분을 찾아서 수정해야합니다.
/skin/shop/basic/navigation.skin.php
부분에서 잘 출력되는지를 확인해보세요
/skin/shop/basic/navigation.skin.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'];
}
}
[/code]
죄송하지만 이 부분까지 작성해주실 수 있을까요?
제가 나름 바꿔야할 것 같은 숫자만 바꿔서 해봤는데 안되네요.....ㅠ