분류 2차 현재페이지 값
관련링크
본문
그누5쓰고있어요...ㅠ
링크에서 처럼 2단 분류를 사용하고 있는데
지금 상태가
list.skin.php에서
1차 카테로그 / 2차 카테로그 들고오는 부분
<?
?>
$cat2 = explode('|',$board[bo_2]);
for($i = 0; $i < count($cat2); $i++){
$cat2[$i] = explode(',',$cat2[$i]);
}
?>
보여지는 부분
<?if($cat1){?>
<?}?>
<ul id="bo_cate_ul">
<li>
<a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>" id="bo_cate_on" <?if($wr_1 == '' || !$wr_1){?>style="background-color:#ccc;"<?}else{}?>>전체</a>
</li>
<?for($i = 0; $i < count($cat1); $i++){?>
<li>
<a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&wr_1=<?=$cat1[$i]?>" class="c_<?=$i?>" id="bo_cate_on"
<?if($wr_1 == $cat1[$i]){?>style="background-color:#ccc;"<?}else{}?>><?=$cat1[$i]?></a>
<ul>
<?for($j = 0; $j < count($cat2[$i]); $j++){?>
<li>
<a href="<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&wr_1=<?=$cat1[$i]?>&wr_2=<?=$cat2[$i][$j]?>"
<?if($wr_2 == $cat2[$i][$j]){?>style="background-color:#3D3D3D;color:#fff;"<?}else{}?>>
<?=$cat2[$i][$j]?>
</a>
</li>
<?}?>
</ul>
</li>
<?}?>
</ul>
</nav>
<?}?>
이런형태인데 이렇게 되면 밑에처럼 다뜨는데 제가 하고싶은건
제가 하고 싶은건 현재페이지가 1차 카테고리이고 위에 보여지는 부분카테고리는 2차로 만들고 싶은데.... 밑에 형식처럼요.ㅠㅠ 방법이..
답변 3
<!-- 게시판 카테고리 시작 { -->
<!-- } 게시판 카테고리 끝 -->
function change_page(va){
if(va.length>1){
loc=location.href.replace(/&sca=[@]{0,}[ㄱ-힣]{0,}/g,"");
location.href=loc+"&sca="+va;
}
}
<? if(!$_GET['sca']){ echo "change_page('전체')"; }?>
</script>
<?
$_GET['sca']=preg_replace("/@{1,}/","",$_GET['sca']);
$t=explode("|",$board['bo_category_list']);
$cate_arr="";
foreach($t as $k){
if(!preg_match("/@{1,}/",$k)){
$cate_arr[$k]="";
$data1=$k;
if($k==$_GET['sca']){ $depth=1; }
};
if(preg_match("/@{1,}/",$k) && !preg_match("/@{2,}/",$k)){
$m=preg_replace("/@/","",$k);
$cate_arr[$data1][$m]="";
$data2=$m;
if($m==$_GET['sca']){ $depth=2; }
}
if(preg_match("/@{2,}/",$k)){
$m=preg_replace("/@{2,}/","",$k);
$cate_arr[$data1][$data2][]=$m;
if($m==$_GET['sca']){ $depth=3; $depthv=$data2;}
}
}
?>
<select onchange="change_page(this.value)">
<?
foreach($cate_arr as $key => $value){
if($key==$_GET['sca']) $mm=$key;
foreach($value as $key2 => $value2){
if(is_array($value2)){
foreach($value2 as $key3 => $value3){
if($value3==$_GET['sca']){
$mm=$key;
}
}
}
if($key2==$_GET['sca']){
$mm=$key;
}
}
?>
<option value="<?=$key?>"<?=$mm==$key?' selected="selected"':''?>><?=$key?></option>
<?
}
?>
</select>
<? if($_GET['sca']!="전체" && $_GET['sca']){ ?>
<select onchange="change_page('@'+this.value)">
<option value="">하위 메뉴를 선택하세요</option>
<?
foreach($cate_arr[$mm] as $key => $value){
?>
<option value="<?=$key?>"<?=($_GET['sca']==$key)||($depthv==$key)?' selected="selected"':''?>><?=$key?></option>
<?
}
?>
</select>
<? } ?>
<? if( ($depth==2 && count($cate_arr[$mm][$_GET['sca']])>1) || $depth==3){ ?>
<select onchange="change_page('@'+this.value)">
<option value="">하위 메뉴를 선택하세요</option>
<?
foreach($cate_arr[$mm][$_GET['sca']] as $value){
?>
<option value="<?=$value?>"<?=$_GET['sca']==$value?' selected="selected"':''?>><?=$value?></option>
<?
}
?>
<?
foreach($cate_arr[$mm][$depthv] as $value){
?>
<option value="<?=$value?>"<?=$_GET['sca']==$value?' selected="selected"':''?>><?=$value?></option>
<?
}
?>
</select>
<? } ?>
<!-- } 게시판 카테고리 끝 -->
혹시 코드가 필요하실까봐... list.skin.php입니다.
!-->현재 작업중인 사이트에서 3단카테고리를 제작하여 사용하고 있는데요, 간단하게 원리만 말씀드리자면
1차분류|@2차분류|@@3차분류|@@3차분류2|@@3차분류|@2차분류2|@2차분류3|@@3차분류
이런식으로 분류를 만들고 내부적으로 분류를 잘라내서 보여주는 방식입니다.
작업중인 사이트라 보여드리진 못하구요.
요런 느낌입니다. 아직 디자인도 안입혀져서 눙물이 ㅠㅠ