테마 사용시 하위폴더는 어떻게 잡나요?

테마 사용시 하위폴더는 어떻게 잡나요?

QA

테마 사용시 하위폴더는 어떻게 잡나요?

본문

보통은 테마 사용하지 않음 설정해서 사이트 루트에 /about 이라는 디렉터리 만들때 _common.php 경로를 설정해주고 index.php에 내용을 추가해서    도메인주소/about 이라는 방식으로 사용을 했었는데, 테마를 사용할 경우는 하위 경로를 어떤식으로 잡아야 하나요? 같은 방식으로 디렉터리 만들고 _common.php와  index.php를 넣고 G5_THEME_URL 로 접근해보려 하니 안되는군요 -ㅅ-;

이 질문에 댓글 쓰기 :

답변 3

_common.php

를 넣으실때

 

_common.php 파일안에서

상대경로로 

그누보드 루트까지의 접근으로 인클루드가 되어야합니다.

 

예를들어

테마 basic 라는것을 사용중일경우

그 하위에 about 을 생성하고

테마하위의 about에서 접근시

 

실제경로는

/theme/basic/about 이 될겁니다.

about디렉토리 안에서

_common.php 가 생성되면

 

최상위경로의 common.php파일을 읽어야 정상작동되므로

 

/theme/basic/about/_common.php 파일에서는

<?php

include_once("../../../common.php");

?>

이렇게 작성이 되어있어야 접근이 용이합니다.

이건 직접 common.php를 호출하는 패턴이구요

 

실제로 그누보드 테마측에서는

 

각 디렉토리마다 _common.php파일을 만들어두고

최상위의 G5_PATH 의 _common.php 파일에서만

common.php를 호출하고 나머지는

 

상위의 _common.php 를 동일하게 바라보게 합니다.

그러면 

 

theme/basic 디렉토리의 _common.php를 보시면

../../common.php 로 만 되어있고

그하위의 디렉토리들은

../_common.php 로 접근하는것을 확인할수 있습니다.

 

여러가지 방법이 쓰이고, 취향적인 성격도 있습니다.

 

여러가지 방법 중 하나입니다.


<?php
$path = "";
for ($i = 0; $i <10; $i++) {
  if (file_exists($path.'common.php'))    break;
  if (realpath($path) == '/') break;
  $path .= '../';
}
 
include_once($path.'common.php');

include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");

 

기존의 _common.php  이 파일의 인쿠르드 방법대신 위에 소스를 참고해 보세요.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,506
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT