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

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

dickjane 5년 전 조회 4,242

</p>

<p>    <?php

    $i = 0;

    foreach($mshop_categories as $cate1){

        if( empty($cate1) ) continue;</p>

<p>        $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++;

            }</p>

<p>            if($j > 0)

                echo '</ul>'.PHP_EOL;

            ?>

        </li>

    <?php

    $i++;

    }   // end for</p>

<p>    if($i > 0)

        echo '</ul>'.PHP_EOL;

    else

        echo '<p class="no-cate">등록된 분류가 없습니다.</p>'.PHP_EOL;

    ?></p>

<p>

 

카테고리 등록시 2차 분류가 있을때에만 1차 분류명

  • 에 class 값을 추가하려고 합니다.

    위에 소스에서 2차분류가 있을때에만

  • 처럼 나타나게 하려고 합니다. 2차 분류가 없을때에는
  • 그대로 나오게 하고요.

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

    부탁드립니다.. ^^

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

    답변 1개

    프라푸치노K

    </p>
    
    <pre>
        <?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;
    
            <span style="color:#c0392b;">$t_class = (count($cate1) > 0)? ' 클래스명' : '';</span>
        ?>
            <li class="cate_li_1<span style="color:#e74c3c;"><?php echo $t_class;?></span>">
                <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;
        ?></pre>
    
    <p>

     

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

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

    참고만 해주세요.

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

    답변에 대한 댓글 3개

    d
    dickjane
    5년 전
    답변 감사합니다. 그런데 2차분류가 있거나 없거나 똑같이 나타나는군요. TT
    휴란드
    5년 전
    print_r로 $cate1 뿌려봐서 조건에 맞게 가공해보세요
    d
    dickjane
    5년 전
    초보자로 어렵네요 TT

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

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

    로그인