그누보드 특정 게시판 내 카테고리(분류)별 PC 및 모바일 스킨 다르게 적용하는 방법
페이지 정보

본문
그누보드 특정 게시판 내 카테고리(분류)별 PC 및 모바일 스킨 다르게 적용하는 방법
그누보드 운영자 및 개발자가 코어 파일을 수정하지 않고 extend 설정을 활용해 특정 게시판의 분류별로 PC 및 모바일 스킨을 각각 다르게 적용하는 방법을 알아봅니다.
그누보드 게시판 분류(카테고리)별 스킨 다르게 적용하기
그누보드는 기본 설정에서 게시판 단위로만 스킨이 지정되므로, 하나의 게시판 안에서 특정 분류(카테고리)별로 다른 스킨을 적용하려면 extend 설정을 활용해야 합니다.
1. 설정 방법
extend/user.config.php 파일을 생성하거나 수정하여 특정 게시판 ID($bo_table)와 분류명($sca) 조건에 따라 스킨 경로를 동적으로 분기 처리하는 코드를 추가합니다. 이 설정은 게시판 목록 페이지에서 특정 분류를 선택했을 때 적용됩니다.
if($bo_table == 'notice') {
if($sca == '질문') {
$board['bo_skin'] = 'theme/gallery'; // PC 스킨
$board['bo_mobile_skin'] = 'theme/gallery'; // 모바일 스킨
}
if($sca == '답변') {
$board['bo_skin'] = 'theme/basic';
$board['bo_mobile_skin'] = 'theme/basic';
}
if (G5_IS_MOBILE) {
$board_skin_path = get_skin_path('board', $board['bo_mobile_skin']);
$board_skin_url = get_skin_url('board', $board['bo_mobile_skin']);
} else {
$board_skin_path = get_skin_path('board', $board['bo_skin']);
$board_skin_url = get_skin_url('board', $board['bo_skin']);
}
}
2. 주요 주의사항
- 테마 폴더에 포함된 스킨을 사용할 때는 스킨명 앞에 반드시
theme/접두사를 붙여야 경로를 정상적으로 인식합니다. 접두사가 누락되면 스킨 경로를 찾지 못할 수 있습니다. - 스킨을 다르게 적용하고 싶은 분류별로 조건문을 추가하여
$board['bo_skin']과$board['bo_mobile_skin']값을 각각 지정하면 됩니다.
테마 스킨 경로 지정 형식과 주의할 점
그누보드에서 테마 폴더 내에 위치한 스킨을 불러올 때 스킨명을 지정하는 올바른 형식은 스킨 폴더명 앞에 theme/ 접두사를 붙이는 것입니다.
스킨 지정 형식
- 일반 스킨 지정:
$board['bo_skin'] = 'gallery';형태는 일반skin/board/폴더를 참조할 때 사용합니다. - 테마 스킨 지정: 테마 폴더 내에 포함된 스킨을 사용하려면 스킨명 앞에 반드시
theme/를 붙여야 합니다.- 예시:
$board['bo_skin'] = 'theme/gallery'; - 예시:
$board['bo_mobile_skin'] = 'theme/gallery';
- 예시:
주의할 점 및 예외
- 테마 폴더에 있는 스킨을 지정할 때
theme/접두사를 누락하면 그누보드가 스킨 경로를 올바르게 찾지 못해 화면이 깨지거나 백화 현상 등의 경로 오류가 발생할 수 있습니다.
상황별 판단 및 행동 가이드
- 내 상황: 특정 게시판 안에서 분류(카테고리)별로 PC 및 모바일 스킨을 각각 다르게 적용하고자 함
- 우선할 판단: 기본 설정으로는 불가능하므로, 전역 실행 파일인
extend/user.config.php를 활용해$bo_table과$sca조건에 따른 스킨 경로 분기 처리 로직 구현 - 다음 행동:
extend/user.config.php에 대상 게시판 아이디와 분류명 조건문을 추가하고, 테마 스킨 사용 시theme/접두사가 누락되지 않았는지 확인 후 적용 테스트 수행
실전 FAQ
Q. 게시판 첫 페이지(전체 목록)에서는 분류별 스킨이 적용되지 않고 기본 스킨으로 노출됩니다.
- 예외 및 대안:
$sca값이 비어 있는 전체 목록 상태에서는 조건문이 일치하지 않아 기본 스킨이 출력됩니다. 첫 페이지에서도 특정 분류 스킨을 연동하려면$sca == ''조건에 대한 별도의 분기 처리를 추가하거나 로직을 재구성해야 합니다.
함께 보면 좋은 글
- 그누보드 게시판 view 페이지에 분류 카테고리 탭 메뉴 출력 방법
- 그누보드 모바일 환경에서 특정 게시판 상단 및 하단 파일 출력 제외하기
- 그누보드5 최신글 스킨 분류명(카테고리) 이미지 출력 커스터마이징 방법
참고자료
기타 참고자료
- 이전글그누보드 모바일 게시판 상하단 파일 개별 지정 방법 26.10.03
- 다음글그누보드 최신 댓글 등록 순 게시판 목록 정렬 방법 26.10.03
댓글목록
등록된 댓글이 없습니다.