테스트 사이트 - 개발 중인 베타 버전입니다

게시판스킨 개별로 상하단을 include 하는 HOOK

· 2년 전 · 2230 · 19
face.jpg

 

1. 첨부파일의 압축을 풀고 extend 디렉토리로 업로드합니다.

예전 5.5.8.2.6 이전 버전 게시판 스킨의 기본구조는 아래와 같았습니다.

 

3717943588_1690843769.4387.jpg

 

----------

 

2. 하지만 5.5.8.2.6 버전부터는 아래처럼 게시판의 상하단 hook 이 추가되었습니다. 운영진들께 감사요.ㅋ

 

3717943588_1690843888.2621.jpg

 

----------

 

3. 그래서... 잔대갈빡을 양껏 굴려본 결과 아래처럼 개별 스킨마다

상단에는 css 파일과 head.php 를, 하단에는 tail.php 를 인클루드할 수 있는 플러그인을 하나 올립니다.

 

3717943588_1690844240.7764.jpg

 

----------

 

4. basic 스킨을 예로 든다면 basic 스킨의 기본 형태는 아래와 같습니다.

 

3717943588_1690844338.7422.jpg

 

----------

 

5. 여기에 hook 이라는 이름의 디렉토리를 추가하고 그 안에 style.css 와 head.php 와 tail.php 를 만들어주면 자동으로 그 파일들이 인클루드 됩니다. 파일은 상황에 따라 셋 모두 만들 필요없이 셋 중 하나만 만들어도 되구요.

물론 hook 디렉토리가 없거나 그 안의 파일이 없으면 그냥 이전처럼 기능합니다.

 

3717943588_1690844495.45.jpg

 

----------

 

6. 어차피 함수로 만든 것이기 때문에 기본변수를 사용하려면 global 로 선언해야 하는데 본인들의 입맛에 맞춰서요.

예를 들어 저는 첨부파일 코드에서 $board 만 글로벌로 선언을 해서 hook 파일 내에서는 글로벌로 선언되지 않은 $bo_table 은 사용할 수 없고 $board['bo_table'] 만 써야 합니다.

그리고 $view 와 $list 는 원래부터 상단파일 이후에 생기는 변수라서 head.php 에서 애타게 불러봐야 응답하지 않기에 이건 하단파일에만 불러와 주었습니다.

등등 각개의 주의점은 사용자 하고 싶으대로요.

 

----------

 

7. 제가 3개의 불린값을 만들어 놓았습니다.

$skin_hook['write'] 와 $skin_hook['view'] 와 $skin_hook['list'] 입니다.

이건 현재 페이지의 위치가 글쓰기 페이지인지, 뷰 페이지인지, 리스트 페이지 인지를 판단합니다.

가령 뷰페이지만 주는 코드라면 아래처럼요.

 

if ($skin_hook['view']) {

    해당코드

}

 

만일 글쓰기와 글수정을 판단하려면 $wr_id 를 글로벌로 선언해 놓은지라 아래처럼 조건을 만드세요.

 

$skin_hook['write'] && $wr_id == 0 ----- 글쓰기

$skin_hook['write'] && $wr_id > 0 ----- 글수정

 

또한 리스트와 뷰에만 적용하려면 $skin_hook['list'] || $skin_hook['view'] 이런 식으로요. 등등...

 

----------

 

8. 만일 뷰페이지에서만 따로 tail.php 를 만들어서 인클루드 하고 싶다면 hook/tail.php 에서

 

if ($skin_hook['view'] && file_exists($board_skin_path.'/hook/view_tail.php')) {

    include_once($board_skin_path.'/hook/view_tail.php');

 

위와 같이 코드를 준 후 hook/view_tail.php 를 넣어주면 되겠습니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 19개

노고에 항상 감사드립니다
2년 전
미키손님도 간만에 댓글에서 뵙네요.
이 플러그인은 앞으로 제게 포인트 창고가 될 거에요.
이제부터는 무조건 이 hook 으로만 스킨을 만들고 예전 스킨 업뎃시에도 그리 할 거라서요.ㅋ
2년 전
좋아요 감사 합니다.
2년 전
이건 포인트뿐만 아니라 제 레벨유지용으로 큰 몫을 할 거에요.ㅋ
이걸로 게시판마다 레이아웃을 달리 만드는 시리즈 팁을 올리면 한동안은 뇌세포를 레몬즙처럼 쥐어짜며 레벨업할 아이디어 찾아 삼만리로 전전긍긍 아니하여도 될듯합니다.ㅎ

이 말을 이제 이해했습니다.

아주 다양하고 유용하게 사용될 수 있을 것 같습니다

해당게시판에 오디오, 비디오 등 여러가지를 쉽게 넣을 수 있어 좋네요. ^^

2년 전
추천 꾸욱! 감사합니다. ^^
2년 전
사용해보면 무지 쉬워요
항상 느끼는 거지만, 비타주리님 열정은 참 대단해요.
sir에서 스카웃해야 하는 거 아닙니까?
2년 전
에고 저는 상사도 부하도 필요없이 혼자 하는 그 무엇을 해야 하는 성격입니다.
저처럼 초보들에게는 많은 도움이 됩니다. 감사합니다. 추천꾹!