사용자가 선택 가능한 레이아웃 정보
사용자가 선택 가능한 레이아웃본문
동호회 홈피 때문에 제로보드 만 일년 정도 다루다
새로운 홈페이지를 만들려다 그누로 넘어 온지 한달이 안된 초짜입니다.
적용하게된 배경은 커뮤니티 사이트의 자료형 게시판을 따로 때어서 사전 같은
작은 싸이즈로 쓰려는 목적이었구요. 예전에 제로에서 쿠키를 통해 head 와 foot 을
교체를 통해 레이아웃 및 게시판 스킨 까지 바꿔 버릴 수 있도록 했던적이 있었는데
그누로 넘어와 보니 신기하게도 _head.php 와 _tail.php 라는 파일이 있더군요.
예전에 제로에서 썼던 수법과 동일하여 좀 반가 웠습니다.
같은 내용이 있는지는 잘 모르겠습니다. 있다면 알려주세요. 삭제하겠습니다.
세션을 활용한 것이며
root 및 bbs 폴더 양쪽의 _head.php 와 _tail.php 를 수정하세요.
그리고 아래 소스는 예제일 뿐입니다.
-------------------------------------
_head.php 를
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($_GET[layout]=="mi") {
session_register("layout");
include_once("$g4[path]/head_sz_mi.php");
} elseif($_SESSION[layout]=="mi") {
include_once("$g4[path]/head_sz_mi.php");
} else {
include_once("$g4[path]/head_sz.php");
}
?>
--------------------------------------------
_tail.php 파일을
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($_GET[layout]=="mi") {
include_once("$g4[path]/tail_xx_mi.php");
} elseif($_SESSION[layout]=="mi") {
include_once("$g4[path]/tail_xx_mi.php");
} else {
include_once("$g4[path]/tail_xx.php");
}
?>
------------------------------------------------
같은 형태로 해주십니다.
위의 것은
특정 레이아웃은 ' http://주소?layout=mi ' 형태로 불러오면 주소의 변수값에 의해
head_xx_mi.php 를 불러오고 이후 세션에 기록 합니다. 그후 부터는 세션의 layout
변수 값에 의해 head_xx_mi.php 을 불러 옵니다. 세션 값을 사용 하므로 창을 닫으면
효력이 없어 지겠죠.
그리고 새로 열때 layout 값이 없으면 head_xx.php 를 불러 오도록 되어 있습니다.
짜기에 따라서 여러가지 레이아웃을 갖출 수 있으며 링크를 걸어두면 사용자가
원하는 레이아웃을 사용할 수 있겠죠.
위에는 세션을 사용하여 링크뒤 변수에 의해 구동하나 쿠키 값을 기록하고 그 변수를
가져다 레이아웃을 불러오면 사용자가 원하는 레이아웃을 선택해 사용하게 하실 수 있을
겁니다. 제로에서 스킨변수를 _head.php 에서 변경시켜 스킨까지 바뀌도록 했었는데
(기본 레이아웃이 좀 무거웠거든요.) 미소 레이아웃을 쓰면서 갈아 버렸죠.
한참 놀면서 만들고 있는 중이라 지져분 합니다만 아래 두 링크로 확인해보세요.
http://kail.ivyro.net/sz/bbs/board.php?bo_table=SEDB_gun&layout=std
http://kail.ivyro.net/sz/bbs/board.php?bo_table=SEDB_gun&layout=mi2
쓰고 나니 생각나던데요. 이게 더 좋겠네요.
왜 쓰고 나면 생각나는지..
아래와 같이 쓰셔도 좋을 것 같습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($_GET[layout]) {
session_register("layout");
include_once("$g4[path]/head_sz_{$_GET[layout]}.php");
// echo"주소창에서";
} elseif($_SESSION[layout]) {
include_once("$g4[path]/head_sz_{$_SESSION[layout]}.php");
// echo"세션에서";
} else {
include_once("$g4[path]/head_sz.php");
// echo"else 값";
}
?>
단 해당 상하단 파일이 없으면 게시판만 출력 됩니다만,
파일 존재 유무를 검사해도 좋겠지만 그냥 둬도 불편은 없겠죠.
그럼 좋은 하루 되세요.
새로운 홈페이지를 만들려다 그누로 넘어 온지 한달이 안된 초짜입니다.
적용하게된 배경은 커뮤니티 사이트의 자료형 게시판을 따로 때어서 사전 같은
작은 싸이즈로 쓰려는 목적이었구요. 예전에 제로에서 쿠키를 통해 head 와 foot 을
교체를 통해 레이아웃 및 게시판 스킨 까지 바꿔 버릴 수 있도록 했던적이 있었는데
그누로 넘어와 보니 신기하게도 _head.php 와 _tail.php 라는 파일이 있더군요.
예전에 제로에서 썼던 수법과 동일하여 좀 반가 웠습니다.
같은 내용이 있는지는 잘 모르겠습니다. 있다면 알려주세요. 삭제하겠습니다.
세션을 활용한 것이며
root 및 bbs 폴더 양쪽의 _head.php 와 _tail.php 를 수정하세요.
그리고 아래 소스는 예제일 뿐입니다.
-------------------------------------
_head.php 를
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($_GET[layout]=="mi") {
session_register("layout");
include_once("$g4[path]/head_sz_mi.php");
} elseif($_SESSION[layout]=="mi") {
include_once("$g4[path]/head_sz_mi.php");
} else {
include_once("$g4[path]/head_sz.php");
}
?>
--------------------------------------------
_tail.php 파일을
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($_GET[layout]=="mi") {
include_once("$g4[path]/tail_xx_mi.php");
} elseif($_SESSION[layout]=="mi") {
include_once("$g4[path]/tail_xx_mi.php");
} else {
include_once("$g4[path]/tail_xx.php");
}
?>
------------------------------------------------
같은 형태로 해주십니다.
위의 것은
특정 레이아웃은 ' http://주소?layout=mi ' 형태로 불러오면 주소의 변수값에 의해
head_xx_mi.php 를 불러오고 이후 세션에 기록 합니다. 그후 부터는 세션의 layout
변수 값에 의해 head_xx_mi.php 을 불러 옵니다. 세션 값을 사용 하므로 창을 닫으면
효력이 없어 지겠죠.
그리고 새로 열때 layout 값이 없으면 head_xx.php 를 불러 오도록 되어 있습니다.
짜기에 따라서 여러가지 레이아웃을 갖출 수 있으며 링크를 걸어두면 사용자가
원하는 레이아웃을 사용할 수 있겠죠.
위에는 세션을 사용하여 링크뒤 변수에 의해 구동하나 쿠키 값을 기록하고 그 변수를
가져다 레이아웃을 불러오면 사용자가 원하는 레이아웃을 선택해 사용하게 하실 수 있을
겁니다. 제로에서 스킨변수를 _head.php 에서 변경시켜 스킨까지 바뀌도록 했었는데
(기본 레이아웃이 좀 무거웠거든요.) 미소 레이아웃을 쓰면서 갈아 버렸죠.
한참 놀면서 만들고 있는 중이라 지져분 합니다만 아래 두 링크로 확인해보세요.
http://kail.ivyro.net/sz/bbs/board.php?bo_table=SEDB_gun&layout=std
http://kail.ivyro.net/sz/bbs/board.php?bo_table=SEDB_gun&layout=mi2
쓰고 나니 생각나던데요. 이게 더 좋겠네요.
왜 쓰고 나면 생각나는지..
아래와 같이 쓰셔도 좋을 것 같습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($_GET[layout]) {
session_register("layout");
include_once("$g4[path]/head_sz_{$_GET[layout]}.php");
// echo"주소창에서";
} elseif($_SESSION[layout]) {
include_once("$g4[path]/head_sz_{$_SESSION[layout]}.php");
// echo"세션에서";
} else {
include_once("$g4[path]/head_sz.php");
// echo"else 값";
}
?>
단 해당 상하단 파일이 없으면 게시판만 출력 됩니다만,
파일 존재 유무를 검사해도 좋겠지만 그냥 둬도 불편은 없겠죠.
그럼 좋은 하루 되세요.
추천
0
0
댓글 1개
전 다른 방식을 사용하지만 kail 님의 방식이 더 나은 것 같네요!
좋은 팁 감사합니다. ^^
좋은 팁 감사합니다. ^^