사이트 페이지를 배열로 정리 하기..
유용할지는 모르겠습니다만^^
많은 분들이 홈페이지를 제작하시면서 각 페이지마다 head.php 가 조금씩 다르거나
다른 파일로 대체해야 할 때가 있습니다..
저는 홈페이지 작업하면서 이런일이 많아서 직접 코드를 짜놓고 사용합니다..^^;
$page_array = Array(
Array("index.php"), // Main
Array("대메뉴 타이틀", // sub_01
Array("소메뉴 타이틀",
"소메뉴 타이틀2"),
Array("파일명",
"파일명")
),
Array("대메뉴 타이틀2", // sub_02
Array("소메뉴 타이틀",
"소메뉴 타이틀2"),
Array("파일명",
"파일명")
)
);
$php_self = explode("/", $_SERVER[PHP_SELF]);
$url_cnt = count($php_self) - 1;
$this_page = $php_self[$url_cnt];
## 게시판 일경우
if($bo_table) $this_page = $bo_table;
## 메인 페이지
$main_arr = $page_array[0];
$main_page = false;
if(in_array($this_page, $main_arr)) {
$main_page = true;
}
for($i=1; $i<count($page_array); $i++) {
if(in_array($this_page, $page_array[$i][2])) {
$title_key = $i;
$title_name = $page_array[$i][0];
$page_key = array_search($this_page, $page_array[$i][2]);
$page_name = $page_array[$i][1][$page_key];
}
}
이렇게 전체 사이트맵을 head.php에 Array로 정리 해놓으시면
각 대메뉴는 $title_key 에 메뉴 순서가 나오고..
소메뉴는 $page_key에 메뉴 순서가 나옵니다..
또한 $title_name에는 대메뉴 이름
$page_name은 소메뉴 이름이 각각 표시됩니다..
파일명에는 게시판일경우 bo_table 값을 넣으셔도 됩니다..
활용 예로 보면
<?/*페이지 위치*/?>
HOME > <?=$title_name?> > <?=$page_name?>
이런식으로 네비게이션을 나타 낼 수 있겠구요...
<?/*페이지 타이틀*/?>
<img src="/image/sub_<?=sprintf("%02d", $title_key)?>/title_<?=sprintf("%02d", ($page_key+1))?>.gif">
이렇게 각메뉴 별로 타이틀 이미지를 지정 하실 수도 있겠습니다~
컨텐츠 내용도 단순히 이미지화시켜서 넣는 페이지라면
페이지타이틀과 동일한 방법을 사용하신다면
소스 자체가 아래와 같이 깔끔 하게 정리 될 수도 있습니다.
<?
include_once("./_common.php");
include("./_head.php");
?>
<img src="/image/sub_<?=sprintf("%02d", $title_key)?>/content_<?=sprintf("%02d", ($page_key+1)).jpg" alt="" />
<?
include("./_tail.php");
?>
사용자에 따라 이 소스가 불편 할 수도 있겠지만..
저는 상당히 만족스럽게 사용 중입니다..^^
댓글 5개
저는 지금까진 스위치로 걸러내서 짰었는데
준님 코드가 낫네요 역시 고수님 ^^
감사합니다.
게시판 목록
그누4 팁자료실
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3309 | 3년 전 | 1807 | ||
| 3308 | 11년 전 | 2093 | ||
| 3307 |
uPAmJ903
|
6년 전 | 4753 | |
| 3306 |
바른사나이
|
6년 전 | 3274 | |
| 3305 | 6년 전 | 12312 | ||
| 3304 | 7년 전 | 3705 | ||
| 3303 | 7년 전 | 3745 | ||
| 3302 |
지리산초보
|
7년 전 | 13597 | |
| 3301 |
sozet
|
8년 전 | 4905 | |
| 3300 |
sozet
|
8년 전 | 5974 | |
| 3299 |
sozet
|
8년 전 | 10863 | |
| 3298 | 8년 전 | 4017 | ||
| 3297 |
또치하우스
|
8년 전 | 4444 | |
| 3296 | 8년 전 | 11972 | ||
| 3295 |
또치하우스
|
8년 전 | 14988 | |
| 3294 | 8년 전 | 6028 | ||
| 3293 | 8년 전 | 5593 | ||
| 3292 |
|
9년 전 | 5320 | |
| 3291 | 9년 전 | 13683 | ||
| 3290 | 9년 전 | 5055 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기