게시판스킨 개별로 상하단을 include 하는 HOOK 정보
게시판스킨 개별로 상하단을 include 하는 HOOK
첨부파일
본문
1. 첨부파일의 압축을 풀고 extend 디렉토리로 업로드합니다.
예전 5.5.8.2.6 이전 버전 게시판 스킨의 기본구조는 아래와 같았습니다.
----------
2. 하지만 5.5.8.2.6 버전부터는 아래처럼 게시판의 상하단 hook 이 추가되었습니다. 운영진들께 감사요.ㅋ
----------
3. 그래서... 잔대갈빡을 양껏 굴려본 결과 아래처럼 개별 스킨마다
상단에는 css 파일과 head.php 를, 하단에는 tail.php 를 인클루드할 수 있는 플러그인을 하나 올립니다.
----------
4. basic 스킨을 예로 든다면 basic 스킨의 기본 형태는 아래와 같습니다.
----------
5. 여기에 hook 이라는 이름의 디렉토리를 추가하고 그 안에 style.css 와 head.php 와 tail.php 를 만들어주면 자동으로 그 파일들이 인클루드 됩니다. 파일은 상황에 따라 셋 모두 만들 필요없이 셋 중 하나만 만들어도 되구요.
물론 hook 디렉토리가 없거나 그 안의 파일이 없으면 그냥 이전처럼 기능합니다.
----------
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 를 넣어주면 되겠습니다.
11
댓글 전체


이 플러그인은 앞으로 제게 포인트 창고가 될 거에요.
이제부터는 무조건 이 hook 으로만 스킨을 만들고 예전 스킨 업뎃시에도 그리 할 거라서요.ㅋ


이걸로 게시판마다 레이아웃을 달리 만드는 시리즈 팁을 올리면 한동안은 뇌세포를 레몬즙처럼 쥐어짜며 레벨업할 아이디어 찾아 삼만리로 전전긍긍 아니하여도 될듯합니다.ㅎ
이 말을 이제 이해했습니다.
아주 다양하고 유용하게 사용될 수 있을 것 같습니다
해당게시판에 오디오, 비디오 등 여러가지를 쉽게 넣을 수 있어 좋네요. ^^


sir에서 스카웃해야 하는 거 아닙니까?



시간이 지나면 훨씬 성장하셔서 저보다 더 좋은 팁 공유해 주세요.

항상 좋은 정보 감사 드립니다.

상단파일경로는 _head.php, 하단파일경로는 _tail.php 로 되어 있는데 이거 싹 지우구요.
----------
hook/head.php 는 아래처럼
<div style="width:1200px">
<div>상단</div>
<div style="width:200px;float.left">좌단</div>
<div style="width:1000px;float.right">
게시글영역
----------
hook/tail.php 는 아래처럼
</div>
<div>하단</div>
</div>
여튼 이런 형태 등으로 만들면 게시판별로 레이아웃을 따로 줄 수 있죠.
물론 pc 만 그렇고 모바일은 또 다릅니다.

이걸 이용한 스킨들이 풀리기 시작하면 그때부터는 이 플러그인의 다운로드 포인트를 1000점 쯤으로 올릴 거에요.
요즘 포인트가 떨어져서 어떤 광분행위(?)가 나올지 모릅니다.ㅋㅋㅋ


좋은 정보 감사합니다.