영카트 상품상세, 리스트 페이지에서 클래스 추가 채택완료
안녕하세요,
-
=$add_class ? "[[MO]]" : ""; ?>
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if( empty($row2) ) continue;
if($k == 0)
echo '
'.PHP_EOL;?>
ob_start();
$menu_datas = get_menu_db(0, true);
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
$i = 0;
foreach( $menu_datas as $row ){
if( empty($row) ) continue;
$add_class = (isset($row['sub']) && $row['sub']) ? '[[ML]]' : '';
?>
$i++;
}
$top_menu = ob_get_contents();
ob_end_clean();
echo str_replace("[[MO]]","",$top_menu);
?>
위는 제 서브내비를 불러오기 위한 코드인데요.
depth1에 class on을 넣고싶습니다.
A, B, C 라는 상품 분류가 있고
A분류에는 aa 상품이 있다고 가정했을때
A분류 리스트 페이지에서도, aa상품 상세페이지에서도 A가 표시된 depth1에는 on 클래스를 추가하고싶습니다.
혹시 방법이 있는지요?
답변 1개
아래 코드 참고를 한번 해보시겠어요..
- "> =$add_class ? "[[MO]]" : ""; ?> '.PHP_EOL; ?>
- 0) echo '
// 현재 카테고리 정보 가져오기 $current_ca_id = ''; if (defined('_SHOP_')) { if ($it_id) { // 상품 상세 페이지 $sql = " SELECT ca_id FROM {$g5['g5_shop_item_table']} WHERE it_id = '$it_id' "; $row = sql_fetch($sql); $current_ca_id = $row['ca_id']; } else if ($ca_id) { // 상품 리스트 페이지 $current_ca_id = $ca_id; } }
foreach ($menu_datas as $row) { if (empty($row)) continue; $add_class = (isset($row['sub']) && $row['sub']) ? '[[ML]]' : ''; // 현재 메뉴가 활성화되어야 하는지 확인 $is_active = false; // 메뉴 링크에서 ca_id 추출 $menu_ca_id = ''; if (preg_match('/ca_id=([^&]*)/', $row['me_link'], $matches)) { $menu_ca_id = $matches[1]; } // 현재 카테고리와 메뉴의 카테고리가 일치하는지 확인 if ($current_ca_id && $menu_ca_id) { // 대분류만 비교 (첫 2자리) if (substr($current_ca_id, 0, 2) === substr($menu_ca_id, 0, 2)) { $is_active = true; } } // on 클래스 추가 $depth1_class = 'depth1' . ($is_active ? ' on' : ''); ?>
$top_menu = ob_get_contents(); ob_end_clean();
echo str_replace("[[MO]]", "", $top_menu); ?>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인