게시판스킨 개별로 상하단을 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점 쯤으로 올릴 거에요.
요즘 포인트가 떨어져서 어떤 광분행위(?)가 나올지 모릅니다.ㅋㅋㅋ
좋은 정보 감사합니다.