채택완료

안녕하세요 같은 게시판을 쓰고 있는데 카테고리 별로 다른 클래스를 주고 싶어요

2024-10-08 (화) 14:07:28 2,379

php문 말고 스크립트로 해결할 수 있을까요 ??

~~.cafe24.com/board/faq/list.html?board_no=6&category_no=2

이런식으로 리스트페이지에서 카테고리 별로 나뉘어져있는데 카테고리 페이지마다 클래스를 주고 싶어요 ㅠㅠ 

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
Copy
<script>
  document.addEventListener("DOMContentLoaded", function() {
    // 현재 URL에서 쿼리 파라미터 가져오기
    const params = new URLSearchParams(window.location.search);
    const categoryNo = params.get('category_no');

    // 카테고리 번호에 따라 클래스 추가
    if (categoryNo) {
      document.body.classList.add(`category-${categoryNo}`);
    }
  });
</script>

이 스크립트는 페이지가 로드될 때 URL의 쿼리 파라미터에서 category_no 값을 가져오고, 그 값을 바탕으로 body 요소에 category-2, category-3 등의 클래스를 추가합니다. 이제 CSS에서 이 클래스를 사용해 스타일을 조정할 수 있습니다.

필요에 따라 클래스 이름이나 추가할 요소를 수정할 수 있으니, 상황에 맞게 조정해보세요!

chatgpt 의 답변이였습니다.

답변에 대한 댓글 1개

헉 잘됐습니다!!! 짱!!!

리스트 스킨 상단에

Copy
if (isset($_GET['category_no'])) {
    switch ($_GET['category_no']) {
        case 1:
            add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style1.css">', 0);
            break;
        case 2:
            add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style2.css">', 0);
            break;
        // 추가 카테고리 번호에 대한 케이스를 계속 추가할 수 있습니다.
        default:
            // 기본 스타일 시트 (필요한 경우)
            add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/default.css">', 0);
            break;
    }
}

이렇게 하시면 됩니다. 답변하고 보니 엉뚱한 답변인듯하네요.
응용하세요.~^^

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