영카트 카테고리 등록시 2차 메뉴가 있을때만 class에 값 추가하기

영카트 카테고리 등록시 2차 메뉴가 있을때만 class에 값 추가하기

QA

영카트 카테고리 등록시 2차 메뉴가 있을때만 class에 값 추가하기

답변 1

본문


    <?php
    $i = 0;
    foreach($mshop_categories as $cate1){
        if( empty($cate1) ) continue;
        $mshop_ca_row1 = $cate1['text'];
        if($i == 0)
            echo '<ul class="cate">'.PHP_EOL;
    ?>
        <li class="cate_li_1">
            <a href="<?php echo $mshop_ca_row1['url']; ?>" class="cate_li_1_a"><?php echo get_text($mshop_ca_row1['ca_name']); ?></a>
            <?php
            $j=0;
            foreach($cate1 as $key=>$cate2){
                if( empty($cate2) || $key === 'text' ) continue;
               
                $mshop_ca_row2 = $cate2['text'];
                if($j == 0)
                    echo '<ul class="sub_cate sub_cate1">'.PHP_EOL;
            ?>
                <li class="cate_li_2">
                    <a href="<?php echo $mshop_ca_row2['url']; ?>"><?php echo get_text($mshop_ca_row2['ca_name']); ?></a>
                </li>
            <?php
            $j++;
            }
            if($j > 0)
                echo '</ul>'.PHP_EOL;
            ?>
        </li>
    <?php
    $i++;
    }   // end for
    if($i > 0)
        echo '</ul>'.PHP_EOL;
    else
        echo '<p class="no-cate">등록된 분류가 없습니다.</p>'.PHP_EOL;
    ?>

 

카테고리 등록시 2차 분류가 있을때에만 1차 분류명 <li>에 class 값을 추가하려고 합니다.

위에 소스에서 2차분류가 있을때에만 <li class="cate_li_1">를 <li class="cate_li_1 abc"> 처럼 나타나게 하려고 합니다. 2차 분류가 없을때에는 <li class="cate_li_1"> 그대로 나오게 하고요.

초보라 이리저리 해봐도 잘 안되네요.

부탁드립니다.. ^^

이 질문에 댓글 쓰기 :

답변 1



    <?php
    $i = 0;
    foreach($mshop_categories as $cate1){
        if( empty($cate1) ) continue;
        $mshop_ca_row1 = $cate1['text'];
        if($i == 0)
            echo '<ul class="cate">'.PHP_EOL;

        $t_class = (count($cate1) > 0)? ' 클래스명' : '';
    ?>
        <li class="cate_li_1<?php echo $t_class;?>">
            <a href="<?php echo $mshop_ca_row1['url']; ?>" class="cate_li_1_a"><?php echo get_text($mshop_ca_row1['ca_name']); ?></a>
            <?php
            $j=0;
            foreach($cate1 as $key=>$cate2){
                if( empty($cate2) || $key === 'text' ) continue;
               
                $mshop_ca_row2 = $cate2['text'];
                if($j == 0)
                    echo '<ul class="sub_cate sub_cate1">'.PHP_EOL;
            ?>
                <li class="cate_li_2">
                    <a href="<?php echo $mshop_ca_row2['url']; ?>"><?php echo get_text($mshop_ca_row2['ca_name']); ?></a>
                </li>
            <?php
            $j++;
            }
            if($j > 0)
                echo '</ul>'.PHP_EOL;
            ?>
        </li>
    <?php
    $i++;
    }   // end for
    if($i > 0)
        echo '</ul>'.PHP_EOL;
    else
        echo '<p class="no-cate">등록된 분류가 없습니다.</p>'.PHP_EOL;
    ?>

 

2차 메뉴가 있는지 배열 count해서 $t_class 변수에 클래스명을 분기한 후 출력합니다.

상상만으로 코드 넣었구요 테스트 못해봐서 오류가 있을 수 있습니다.

참고만 해주세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 43
© SIRSOFT
현재 페이지 제일 처음으로