상품 2차분류 active 클래스 주기 채택완료
list.10.skin.php에서 listcategory3.skin.php 불러와 2차분류를 불러왔습니다!
여기서 한 분류 클릭 시 class active를 부여하고싶은데 이래저래 변형해봐도 먹지를 않아서 질문드립니다!
php 정말 힘드네요..
listcategory3.skin.php
</p>
<p><?php</p>
<p>if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p>
<p> </p>
<p>$str = '';</p>
<p>$exists = false;</p>
<p> </p>
<p>$depth2_ca_id = substr($ca_id, 0, 2);</p>
<p> </p>
<p>$sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id like '{$depth2_ca_id}%' and length(ca_id) = 4 and ca_use = '1' order by ca_order, ca_id ";</p>
<p>$result = sql_query($sql);</p>
<p>while ($row=sql_fetch_array($result)) {</p>
<p> if (preg_match("/^{$row['ca_id']}/", $ca_id))</p>
<p> $sct_ct_here = 'sct_ct_here';</p>
<p> else</p>
<p> $sct_ct_here = '';</p>
<p> $str .= '<li><a href="'.shop_category_url($row['ca_id']).'" class="'.$sct_ct_here.'">'.$row['ca_name'].'</a></li>';</p>
<p> $exists = true;</p>
<p>}</p>
<p> </p>
<p>if ($exists) {</p>
<p> </p>
<p> // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨</p>
<p> add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_SKIN_URL.'/style.css">', 0);</p>
<p>?></p>
<p> </p>
<p><!-- 상품분류 3 시작 { --></p>
<p><aside id="sct_ct_3" class="sct_ct"></p>
<p> <h2>현재 상품 분류와 관련된 분류</h2></p>
<p> <ul></p>
<p> <?php echo $str; ?></p>
<p> </ul></p>
<p></aside></p>
<p><!-- } 상품분류 3 끝 --></p>
<p> </p>
<p><?php }</p>
<p>
답변 3개
그러면 URL 로 파라미터를 넘기면되잖아요.
<a href="'.shop_category_url($row['ca_id']).'&categoryid='.$row['ca_id'].'"
이렇게 하면 URL 뒤에 categoryid 파라미터가 날아갈테고
if($_GET['categoryid'] == '$row['ca_id']') echo 'active';
이렇게 GET 으로 받아와서 현재 ca_id 와 일치하면 active 클래스 넣으면 될것 같은데요?
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
위에 보시면 분류 클릭시 라고 하셨는데
addClass 를 먹여도 클릭하면 URL 이동이 되어 어차피 초기화 될텐데요?
정확하게 뭘 하시고 싶은건지 말씀해주세요.
답변에 대한 댓글 1개
말씀하신대로 addClass로는 안될것같아서 위 구문을 이용하는게 맞는 것 같아 고전중입니다
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
2차분류를 불러오는 구문인데 여기서 현재 들어가있는 분류페이지의 링크에 active를 주고싶습니다.
js는 없고 기본인 상태입니다.
$sql = " select count(*) as cnt from {$g5['board_table']} where gr_id = 'GallType' order by bo_subject "; // 게시판 중에 gr_id 가 GallType 인 게시판들의 개수를 불러옴
$row = sql_fetch($sql);
$sql = " select bo_table, bo_subject from {$g5['board_table']} where gr_id = 'GallType' order by gr_id "; // 그룹이 GallType인 게시판들의 bo_table, bo_subject 를 가져옴
$result = sql_query($sql);
$str = '';
for($i=0;$row=sql_fetch_array($result);$i++){ // for문으로 카테고리를 생성
$str .= '<li><a href="/bbs/board.php?bo_table='.$row['bo_table'].'" title="'.$row['bo_subject'].'"';
if( $row['bo_table'] === $bo_table )
$str .= 'class="active"';
$str .= '>'.$row['bo_subject'].'</a></li>';
}
echo $str;
[/code]
예를들어 이건 게시판 그룹 리스트를 가져와서 들어가있는 리스트 게시판 텍스트에 active를 준 구문입니다! 이것과 같게 상품 분류에도 적용시키고싶은데 잘안되서요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
[code]
while ($row=sql_fetch_array($result)) {
if ($_GET['ca_id'] == $row['ca_id'])
$sct_ct_here = 'active';
else
$sct_ct_here = '';
$str .= '<li><a href="'.shop_category_url($row['ca_id']).'" class="'.$sct_ct_here.'">'.$row['ca_name'].'</a></li>';
$exists = true;
}
[/code]