영카트 카테고리 등록시 2차 메뉴가 있을때만 class에 값 추가하기
본문
<?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 변수에 클래스명을 분기한 후 출력합니다.
상상만으로 코드 넣었구요 테스트 못해봐서 오류가 있을 수 있습니다.
참고만 해주세요.
!-->
답변을 작성하시기 전에 로그인 해주세요.