테스트 사이트 - 개발 중인 베타 버전입니다

영카트 상품상세, 리스트 페이지에서 클래스 추가 채택완료

one9601 11개월 전 조회 2,437

안녕하세요,

 

     

     

           

            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]]' : '';

            ?>

           

  •            

               

                $k = 0;

                foreach( (array) $row['sub'] as $row2 ){

     

                    if( empty($row2) ) continue;

     

                    if($k == 0)

                        echo '

      '.PHP_EOL;

                  ?>

                     

    •            

                  $k++;

                  }

                  if($k > 0)

                      echo '

    '.PHP_EOL;

                ?>

           

  •        

            $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개

채택된 답변
+20 포인트
11개월 전

아래 코드 참고를 한번 해보시겠어요..

 

 

 

    // 현재 카테고리 정보 가져오기 $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' : ''); ?>    

  •                                     '.PHP_EOL;         ?>            
  •                                                                
  •         0)             echo '
'.PHP_EOL;         ?>    

$top_menu = ob_get_contents(); ob_end_clean();

echo str_replace("[[MO]]", "", $top_menu); ?>

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인