채택완료

공지 상단고정과 하단고정문의합니다.

2017-01-15 (일) 19:43:37 5,071

특정 조건을 걸어서

공지가 상단에 고정되있는데

그부분 코드가 어디파일에 있는걸까요?

추가적으로 하단고정은 어떻게 해야되는지

해당 게시판 글 맨 끝으로가게요 

사라지게 하는건 넘 어려우니 ㅜ

도움좀 부탁드려봅니다~

|

답변 5개 / 댓글 5개

채택된 답변
+20 포인트

자동 상단에 고정되는건 첫글에 이미 설명드렸는데요...

/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 에 있는 코드들을 전반적으로 수정해야합니다.

답변에 대한 댓글 1개

네 감사합니다 알려주신 코드가 공지가 뒤쪽에 위치하게 만드는 코드인데
베이직스킨에다가 넣으라는건데 어디다가 넣어야될지요

////$list_skin_file = (G5_IS_MOBILE) ? 'list.skin.mobile.php' : 'list.skin.pc.php'; 이거 바로 위에 아래 코드 넣어보세요. //////

list.skin.php에 저런코드가 없어서 어디다 넣어야될지 모르겠습니다 ㅜㅜ
어느부분에 넣어야될까여?^^;

아 제가 지금 아미나 빌더 작업의뢰 받은거 있어서 그거작업하다가 본거라 아미나 빌더 basic 스킨을 봤네요.. 그누 basic은 그냥 맨 위쪽에 넣으시면 되요

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

이거 바로 아래 넣으시면 될듯

답변에 대한 댓글 1개

바쁘신 와중에 감사합니다
공지가 뒤로 갔습니다

제가 스크랩글을 맨끝으로 가게하려는데
이게이게 쉬운게 아니였네요 ㅎㅎㅎ

설명해줘도 이해도 못하는데 아무튼 감사합니다 ㅎㅎㅎ

혹시 /bbs/list.php 에서 찾으신거예요? 제가 좀 헷갈리게 글을 쓰긴한것같은데 저 파일 아니구요

스킨폴더에 list.skin.php 에서 찾으셔야해요

답변에 대한 댓글 1개

알려주신 코드와 제가 하려는건 좀 틀린것 같습니다 이미 공지는 자동 상단고정이 되는 상태이기 때문에 단지 그 자동상단코딩 되는게 어떤 코드인건지 질문드린거라서요 ㅜㅜ

/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'; 이거 바로 위에 아래 코드 넣어보세요. 

Copy
$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);

답변에 대한 댓글 2개

상세한 답변 감사합니다
근데 ㅜㅜ 여러번 읽어봐도 넘 어려워서요
basic 스킨 기준으로 25줄
$list_skin_file = (G5_IS_MOBILE) ? 'list.skin.mobile.php' : 'list.skin.pc.php';

이런코드는 암만 찾아도 없는데요 ㅜㅜㅜㅜ
뭔지 모르겠지만 $list = array_merge($b, $a);

$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;

$i++;
$notice_count++;

if($notice_count >= $list_page_rows)
break;
}
}

여기 위에다가 알려주신 코드를 넣었는데요


제가 궁금한건
이미 공지는 자동 상단으로 고정이 되는데
그 상단고정 코딩이 어떤 코드인지

그리고 게시판 맨 끝으로 가게하는 조건문을 어떻게 코딩해야될지
이 질문을 드린건데
제가 찰떡같이 적용을 잘 못해서요

게시판 상단 하단 이라면 bbs/  안에서 리스트 뷰 가있고요

보통은 스킨 파일 안에 보드 안에 스킨 폴더안에 리스트스킨 에서 적용하죠 

답변을 작성하려면 로그인이 필요합니다.