PHP 조건문을 활용한 그누보드 페이지별 메뉴 레이아웃 분리 및 관리 방법
페이지 정보

본문
그누보드 운영 시 특정 페이지나 게시판별로 다른 메뉴를 출력하기 위해 PHP 조건문과 include 문을 활용하여 레이아웃을 분리하고 관리하는 방법을 알아봅니다.
PHP 조건문을 활용한 페이지별 메뉴 레이아웃 분리 및 관리
사이트 규모가 커지면 모든 페이지의 메뉴를 하나의 파일에 하드코딩하는 방식은 유지보수를 어렵게 만듭니다. PHP의 조건문과 변수를 활용하면 특정 페이지, 게시판, 분류에 따라 필요한 메뉴 파일만 선택적으로 불러와 관리 효율을 높일 수 있습니다.
조건부 메뉴 적용 방법
PHP의 include 문과 $_SERVER['PHP_SELF'], $bo_table, $ca_id 변수를 조합하여 메뉴를 분리합니다. 단, 이 변수들은 그누보드 공통 파일(common.php)이 로드된 이후에만 정상적으로 값을 가집니다. 각 메뉴는 별도의 파일(예: leftmenu.01.php)로 저장하여 관리합니다.
코드 예시
<?php
// 페이지 경로, 게시판, 분류에 따른 조건부 메뉴 출력
if ($_SERVER['PHP_SELF'] == '/intro.php') {
include('leftmenu.01.php');
} elseif ($bo_table == 'notice') {
include('leftmenu.02.php');
} elseif ($ca_id == 'a0') {
include('leftmenu.03.php');
} else {
include('leftmenu.00.php'); // 기본 메뉴
}
?>
적용 및 확인 방법
파일을 수정하기 전 반드시 원본 파일을 백업해야 합니다. 적용 후에는 브라우저에서 해당 페이지(게시판, 분류 페이지 등)에 접속하여 의도한 메뉴가 정상적으로 출력되는지 확인합니다. 메뉴가 출력되지 않거나 오류가 발생한다면 백업해둔 원본 파일을 다시 업로드하여 복구하고, 파일 경로와 조건문 변수(bo_table 등)가 해당 페이지에서 유효한지 재점검해야 합니다.
메뉴 레이아웃 코드 수정 전 백업 및 정상 출력 확인 방법
수정 전 파일 백업
메뉴 레이아웃 코드를 수정하기 전에는 반드시 원본 파일을 백업해야 합니다. 이는 코드 수정 중 발생할 수 있는 사이트 오류나 메뉴 미출력 상황에 대비하기 위한 필수 조치입니다.
적용 후 정상 출력 확인
코드를 적용한 뒤에는 브라우저에서 해당 페이지(게시판, 분류 페이지 등)에 직접 접속하여 의도한 메뉴가 정상적으로 출력되는지 확인해야 한다.
오류 발생 시 복구 및 점검 방법
메뉴가 출력되지 않거나 오류가 발생할 경우, 백업해둔 원본 파일을 다시 업로드하여 즉시 복구할 수 있다. 복구 후에는 아래 항목을 다시 점검해야 한다.
- 파일 경로가 정확한지 확인
- 조건문 변수(예:
$bo_table)가 해당 페이지에서 유효한지 재점검
메뉴 오류 발생 시 점검 및 복구 방법
메뉴가 출력되지 않거나 오류가 발생할 때는 다음 순서에 따라 점검과 복구를 진행합니다.
1. 즉시 복구
- 메뉴가 출력되지 않거나 오류가 발생한다면, 수정 전 백업해둔 원본 파일을 다시 업로드하여 즉시 복구합니다.
2. 점검 항목
- 파일 경로 점검: 불러오려는 메뉴 파일의 경로가 정확한지 다시 확인합니다.
- 조건문 변수 유효성 점검:
bo_table등 조건문에서 사용한 변수가 해당 페이지에서 유효하게 전달되고 있는지 재점검합니다.
상황별 메뉴 분리 판단 및 실행
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
특정 파일 경로(intro.php)별로 메뉴를 다르게 보여야 할 때 | $_SERVER['PHP_SELF'] 조건문 활용 | 대상 페이지 경로를 확인하고 include할 메뉴 파일 지정 |
특정 게시판(notice 등)에서 고유 메뉴를 출력해야 할 때 | $bo_table 변수 조건문 활용 | 게시판 ID가 정확한지 확인 후 조건 코드 작성 |
특정 분류(a0 등) 페이지에서 레이아웃을 분리해야 할 때 | $ca_id 변수 조건문 활용 | 분류 코드가 유효하게 전달되는지 확인 후 적용 |
실전 FAQ
Q. 조건문에 사용한 $bo_table이나 $ca_id 변수가 인식되지 않고 기본 메뉴만 출력될 때
- 원인과 확인: 해당 파일이 그누보드 환경 설정 및 공통 파일(
common.php등)을 정상적으로 로드하고 있지 않거나, 변수가 선언되기 전에 조건문이 실행될 수 있습니다. - 대안: 조건문 상단에서 해당 변수들이 정상적으로 값(
notice,a0등)을 가지고 있는지echo등으로 먼저 확인한 뒤 코드를 배치하세요.
함께 보면 좋은 글
- 그누보드 전체 게시판 틀(레이아웃) 가운데 정렬 방법
- 그누보드 스마트에디터 툴바 아이콘 삭제 시 레이아웃 오류 해결 방법
- 그누보드 로그인 페이지 소셜 로그인 버튼 가로 100% 레이아웃 수정 방법
참고자료
기타 참고자료
- 이전글그누보드 최근 코멘트 출력 시 특정 게시판 필터링 방법 26.09.16
- 다음글그누보드 CSS·JS 수정 사항이 즉시 반영되지 않을 때 해결 방법 26.09.16
댓글목록
등록된 댓글이 없습니다.