메인디자인 서브디자인 여러개 사용하기 > 그누3 팁자료실

그누3 팁자료실

메인디자인 서브디자인 여러개 사용하기 정보

그누호환 메인디자인 서브디자인 여러개 사용하기

본문

그누보드에서 보면 하나의 head.php와 tail.php을 사용하고
중간메인부분은 main.php로 이루어져 있습니다.
게시판 관리에서 하나를 생성하여 위 아래 파일 경로에 보통.
../경로/head.php  ,    ../경로/tail.php

라고 지정하여 메인 디자인을 게시판 위 아래로 include하여 사용합니다.
이때, 위 아래 디자인을 다른 서브 디자인으로 만들어
예를 들어 head1.php 와 tail1.php 를 만들어 게시판 위 아래 파일 경로를 지정하면
임의의 메인페이지를 바꿀 수 있습니다.
여기서 게시판 말고 기본 php페이지에서 위 아래 파일 경로를
head1.php 와 tail1.php 에 대한 include 지정을 하면 오류가 납니다.
왜 그럴까요?
방법은 그누보드경로에 index.php라고 하는 파일이 있습니다.
{그누보드는 템플릿(프로그램페이지 따로 디자인 페이지 따로) 구조로 되어 있음}
index.php 맨 아래 줄에 보시면
------------------------------------------------index.php소스
switch (_DOCTYPE_) {
    // NONE 는 상단과 하단 파일이 필요없는 TYPE
    case "NONE" :
        echo $ob_content;
        break;
    // STYLE 은 stylesheet 등만 적용하는 TYPE
    case "STYLE" :
        include './head.sub.php';
        echo $ob_content;
        include './tail.sub.php';
        break;
    // DESIGN 은 상단, 하단 파일을 필요로 하는 TYPE
    case "DESIGN" :
        include './head.sub.php';
        include './head.php';
        echo $ob_content;
        include './tail.php';
        include './tail.sub.php';
        break;
    // 나머지 TYPE 은 오류
    default :
        if (!file_exists($doc) && $doc) {
            echo "$doc 파일이 존재하는지 확인하여 주십시오.";
            exit;
        }
        echo "_DOCTYPE_ 오류 : NONE , STYLE , DESIGN 중 하나를 사용하세요.<p>";
        echo $ob_content;
        break;
}
----------------------------------index.php 소스 끝
    // DESIGN 은 상단, 하단 파일을 필요로 하는 TYPE
    case "DESIGN" :
        include './head.sub.php';
        include './head.php';
        echo $ob_content;
        include './tail.php';
        include './tail.sub.php';
        break;

!!!!위에 소스 부분 밑줄에!!!!
 
  // DESIGN 은 상단, 하단 파일을 필요로 하는 TYPE
    case "DESIGN2" :
        include './head.sub.php';
        include './head1.php';
        echo $ob_content;
        include './tail1.php';
        include './tail.sub.php';
        break;

라고 지정합니다.
그후 만든 기본 php파일 맨 위에 소스에

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "DESIGN2");  // DESIGN을 DESIGN2로 바꿈

$html_title = "그누보드3";
?>

를 교체합니다.
그럼 보통 php에서 위 아래 <? include ?> 로 쓰는 것을 그누보드에서는
위와 같이 대처하실 수 있습니다.
다들 아시는 거 겠지만. 이거 알아내기 위해서 몇일을 돌아 다녔는지 모르겠습니다.^^
추천
0
  • 복사

댓글 전체

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "NONE");  // NONE또는 STYLE로 바꿔서 사용해도 됩니다....
$html_title = "그누보드3";
?>

sub1.php <------ sub_head.php  + sub_main.php  + sub_tail.php 
각각의 파일 상단에 none 값이나 style 값만 바꿔줘도 됩니다...
© SIRSOFT
현재 페이지 제일 처음으로