그누보드5 초기 설치 및 테마 구성 시 필수 설정과 CSS 주의사항 가이드
페이지 정보

본문
그누보드5를 처음 설치하거나 테마를 세팅할 때 마주치는 head.sub.php 수정, 일반 페이지 경로 설정, 인덱스 리다이렉트, 그리고 CSS 충돌 문제를 해결하는 구체적인 방법을 안내합니다.
head.sub.php 모바일 감지 및 타이틀 그룹 설정 방법
그누보드5 초기 세팅 시 /theme/basic/head.sub.php 파일을 수정하여 브라우저 정보로 모바일 기기를 감지하고 게시판별 타이틀 그룹을 설정할 수 있습니다.
1. 모바일 기기 감지 및 게시판별 그룹 설정 코드 추가
head.sub.php 파일 내에 아래와 같이 브라우저 사용자 에이전트(USERAGENT)를 검사하는 모바일 감지 로직과 게시판 테이블명(`$botable`)에 따른 그룹 변수 설정을 추가합니다.
// 브라우저 정보로 홈페이지 이동하기
if(preg_match('/(phone|samsung|lgtel|mobile|[^A]skt|nokia|blackberry|BB10|android|sony|SonyEricsson|DoCoMo|JVodafone|SoftBank|MOT-|UP.Browser|KDDI|WILLCOM|SHARP|DDIPOCKET|PSP|SymbianOS|Windows CE|webOS|PalmOS)/i', $_SERVER['HTTP_USER_AGENT'])) {
$hp_mobile_check="y";
}
if ($bo_table=="게시판1") {
$hp_sub_group = ""; // 2차 서브메뉴 ID
$hp_page_group = "menu1"; // 그룹 메뉴 ID
$hp_title_group2 = ""; // 2차 서브메뉴 타이틀
$hp_title_group = "회사소개"; // 그룹메뉴 타이틀
} elseif ($bo_table=="게시판2") {
$hp_sub_group = ""; // 2차 서브메뉴 ID
$hp_page_group = "menu2"; // 그룹 메뉴 ID
$hp_title_group2 = ""; // 2차 서브메뉴 타이틀
$hp_title_group = "제품소개"; // 그룹메뉴 타이틀
}
2. 브라우저 상태바 및 타이틀 출력부 수정
기존의 $g5['title'] 설정 코드를 아래와 같이 변경하여 설정한 타이틀 그룹이 상태바 및 브라우저 타이틀에 반영되도록 구성합니다.
if (!isset($g5['title'])) {
$g5['title'] = $config['cf_title'];
$g5_head_title = $g5['title'];
} else {
$g5_head_title = $g5['title']; // 상태바에 표시될 제목
if ($hp_title_group2) $g5_head_title.= " | ".$hp_title_group2;
if ($hp_title_group) $g5_head_title.= " | ".$hp_title_group;
$g5_head_title.= " | ".$config['cf_title'];
}
일반 페이지(인사말, 오시는길 등) 생성 시 common.php 및 head.php/tail.php 경로 설정 방법
그누보드5 테마 내에서 별도의 서브 페이지나 일반 PHP 페이지를 제작할 때, 상단 레이아웃을 정상적으로 불러오지 못해 흰 화면이 발생하는 문제를 방지하려면 경로와 파일을 올바르게 포함해야 합니다.
1. 일반 페이지 파일 상단의 경로 설정
일반 페이지(예: /page/map.php 등) 파일의 최상단에는 그누보드 루트의 common.php를 상대 경로로 지정하여 포함해야 합니다.
include_once('../common.php');또는include_once("./common.php");형태로 작성합니다.
2. 페이지별 타이틀 및 그룹 설정
common.php를 포함한 직후에 필요에 따라 페이지 제목과 메뉴 그룹 변수를 지정합니다.
$hp_page = "greeting";$hp_sub_group = "";(2차 서브메뉴 ID)$hp_page_group = "menu1";(그룹 메뉴 ID)$g5['title'] = "인사말";$hp_title_group2 = "";(2차 서브메뉴 제목)$hp_title_group = "회사소개";(그룹메뉴 제목)
3. 헤더 및 푸터 파일 포함
설정 완료 후 그누보드 경로 상수를 이용해 상단 레이아웃과 하단 레이아웃을 차례대로 포함시킵니다.
- 상단 불러오기:
include_once(G5_PATH."/head.php"); - 본문 내용 입력 위치에 원하는 HTML 또는 PHP 코드를 작성합니다.
- 하단 불러오기:
include_once(G5_PATH."/tail.php");
4. 추가 HTML 폴더 생성 시 주의사항
추가로 생성한 HTML 폴더 내에는 _common.php 파일을 생성하여 <?php include_once("../common.php");?> 코드를 먼저 포함시켜야 합니다.
그누보드5 루트 디렉토리 index 리다이렉트 설정 방법
웹서버 루트 폴더가 아닌 하위 디렉토리에 그누보드를 설치한 경우, 도메인 접속 시 메인 페이지나 특정 서브 디렉토리의 인덱스 파일로 연결되도록 루트 폴더에 index.html 파일을 추가하여 리다이렉트를 설정할 수 있습니다.
1. 설정 방법
root 폴더에 그누보드를 설치한 경우가 아니라 하위 디렉토리에 설치한 경우에만 적용하며, 루트 폴더에 index.html 파일을 생성한 후 아래의 코드를 입력합니다.
<?php
$URL="/v3/index.php";
header ("Location: $URL");
?>
- 주의:
$URL경로 값은 실제 그누보드가 설치된 하위 디렉토리 및 인덱스 파일 경로에 맞게 수정하여 사용합니다.
style.css 충돌 방지 및 주의사항
그누보드5 테마 제작 및 스타일 수정 시 기본 스타일과 충돌을 일으키어 예기치 못한 링크 색상 변경 또는 줄간격 오류를 발생시키는 CSS 속성값들은 사용을 피해야 합니다.
피해야 할 CSS 속성
body및td요소의line-height속성 (예:body { line-height:... },td { line-height:... })- 링크 관련 상태별 속성 (
a.link,a.visited,a.active,a.hover)
그누보드5 초기 세팅 및 테마 구성 가이드
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
| 테마 제작 시 모바일 기기 감지 및 브라우저 타이틀 설정을 적용하려는 경우 | /theme/basic/head.sub.php 파일 내 user-agent 정규식 및 게시판별 타이틀 그룹 변수 추가 | head.sub.php 상단에 모바일 감지 조건문과 $g5_head_title 조합 로직 삽입 |
| 인사말, 오시는길 등 일반 PHP 페이지를 제작할 때 흰 화면 레이아웃 깨짐 현상이 발생하는 경우 | 상단 경로 설정 및 common.php, head.php, tail.php 파일 포함 여부 점검 | 페이지 최상단에 include_once('../common.php'); 지정 후 하단에 헤더와 푸터 호출 코드 삽입 |
| 하위 디렉토리에 그누보드를 설치하여 도메인 접속 시 메인 페이지로 이동시키지 않는 경우 | 루트 폴더 내 index.html 추가 및 리다이렉트 주소 설정 | 루트 디렉토리에 index.html을 생성하고 PHP header("Location: $URL"); 코드 작성 |
| 테마 적용 후 링크 색상이 임의로 변하거나 줄간격에 오류가 발생하는 경우 | style.css 내에서 그누보드 기본 레이아웃과 충돌하는 속성 사용 여부 확인 | body, td의 line-height 속성 및 링크 상태별(a.link, a.visited 등) CSS 정의 제거 또는 수정 |
실전 FAQ
Q. 일반 페이지(서브 페이지)를 만들 때 head.php를 불러오지 못하고 흰 화면이 나타납니다. 어떻게 해야 하나요?
- 답변: 서브 페이지 파일의 경로 깊이에 따라 루트 디렉토리의
common.php를 가리키는 상대 경로(../common.php등)가 잘못되었거나, 그누보드 경로 상수인G5_PATH를 이용한head.php와tail.php호출 순서가 누락되었을 때 발생합니다. 파일 상단에서common.php를 정확히 인클루드한 후 타이틀 변수를 선언하고include_once(G5_PATH."/");경로를 사용해야 합니다.
Q. style.css에서 line-height를 수정했더니 게시판 본문이나 목록의 줄간격과 링크 색상이 망가집니다. 대안이 있나요?
- 답변: 그누보드5 기본 스타일 시트와
body또는td의line-height속성이 충돌하기 때문입니다. 전역 선택자인body나td에 직접line-height나 링크 상태(a.link,a.hover등)를 지정하는 방식을 피하고, 문제가 발생하는 특정 컨테이너 클래스 내부의 하위 요소에만 개별적으로 스타일을 적용해야 합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드4 슬라이드(sliders) 최신글 스킨 구현 및 팝업 연동 가이드 26.10.18
- 다음글그누보드 게시물 수정 시 작성 날짜(wrdatetime)를 현재 시간으로 갱신하는 방법 26.10.17
댓글목록
등록된 댓글이 없습니다.