공지 상단고정과 하단고정문의합니다.
본문
특정 조건을 걸어서
공지가 상단에 고정되있는데
그부분 코드가 어디파일에 있는걸까요?
추가적으로 하단고정은 어떻게 해야되는지
해당 게시판 글 맨 끝으로가게요
사라지게 하는건 넘 어려우니 ㅜ
도움좀 부탁드려봅니다~
답변 5
자동 상단에 고정되는건 첫글에 이미 설명드렸는데요...
/bbs/list.php에서 리스트 게시물 정보를 $list에 넣는데요.
이 파일에서 84~116줄에서 공지게시물을 먼저 가지고 와서 $list에 넣습니다. 공지가 3개라고 하면
$list[0]~$list[2] 까지 공지 게시물이 들어가겠죠?
이후에 172줄~203줄에서 일반 게시물을 가지고 옵니다.
그리고 $list에 이어서 넣습니다. 그러면 $list[3]~ 은 일반 글이 들어갑니다.
스킨 폴더에 있는 list.skin.pc.php, list.skin.mobile.php 에서 순서대로 출력을 하기때문에 공지가 먼저 나오는거예요.
/bbs/list.php 는 모든 게시판에 영향을 주기 때문에 가능하면 저 파일은 수정안하고 해당 스킨에서만
리스트 게시물 정보가 담겨있는 $list 의 정보를 공지가 뒤쪽에 위치하게 재조합한 것입니다.
원하시는건 if 문으로 안되구요. /bbs/list.php 에 있는 코드들을 전반적으로 수정해야합니다.
게시판 상단 하단 이라면 bbs/ 안에서 리스트 뷰 가있고요
보통은 스킨 파일 안에 보드 안에 스킨 폴더안에 리스트스킨 에서 적용하죠
/bbs/list.php 에서
일단 공지를 $list 에 넣고요 이후에 공지 갯수 계산해서 공지가 아닌 글을 $list 에 넣습니다.
스킨폴더/list.skin.pc.php 와 /list.skin.mobile.php 에서 $list를 출력해줍니다. 원본 소스를 안건드리고 할 방법은 $list 에 담겨있는 게시물 정보 순서를 재가공하는것입니다.
예를 들어서 $list[0] 에는 첫번째 게시물의 정보가 담겨있는데 이 게시물이 공지인지 아닌지 판단하기 위해서 $list[0]['is_notice'] 값이 있습니다. 이게 false 면 일단 게시물이고 $list[0]['is_notice'] 가 true면 공지 글이라는 이야기입니다.
basic 스킨 기준으로 25줄
$list_skin_file = (G5_IS_MOBILE) ? 'list.skin.mobile.php' : 'list.skin.pc.php'; 이거 바로 위에 아래 코드 넣어보세요.
$a = $b = array();
$list_cnt = count($list);
for( $i=0; $i < $list_cnt; $i++ ) {
if( $list[$i]['is_notice'] ) {
$a[] = $list[$i];
} else {
$b[] = $list[$i];
}
}
$list = array_merge($b, $a);
혹시 /bbs/list.php 에서 찾으신거예요? 제가 좀 헷갈리게 글을 쓰긴한것같은데 저 파일 아니구요
스킨폴더에 list.skin.php 에서 찾으셔야해요
아 제가 지금 아미나 빌더 작업의뢰 받은거 있어서 그거작업하다가 본거라 아미나 빌더 basic 스킨을 봤네요.. 그누 basic은 그냥 맨 위쪽에 넣으시면 되요
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가