BOARD

팁·활용

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 7회 작성일 26-10-18 15:37

본문

그누보드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 등)를 지정하는 방식을 피하고, 문제가 발생하는 특정 컨테이너 클래스 내부의 하위 요소에만 개별적으로 스타일을 적용해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.