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

공지 상단고정과 하단고정문의합니다. 채택완료

거너비 8년 전 조회 4,692

특정 조건을 걸어서

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

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

 

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

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

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

도움좀 부탁드려봅니다~

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

답변 5개

채택된 답변
+20 포인트
IZSOFT
8년 전

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

 

/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개

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

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

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

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

IZSOFT
8년 전

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

 

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

이거 바로 아래 넣으시면 될듯
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

거너비
8년 전
바쁘신 와중에 감사합니다
공지가 뒤로 갔습니다

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

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

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

IZSOFT
8년 전

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

IZSOFT
8년 전

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

 

</p><p>$a = $b = array();</p><p>$list_cnt = count($list);</p><p>for( $i=0; $i < $list_cnt; $i++ ) {</p><p>  if( $list[$i]['is_notice'] ) {</p><p>    $a[] = $list[$i];</p><p>  } else {</p><p>    $b[] = $list[$i];</p><p>  }</p><p>}</p><p> </p><p>$list = array_merge($b, $a);</p><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

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

이런코드는 암만 찾아도 없는데요 ㅜㅜㅜㅜ
거너비
8년 전
뭔지 모르겠지만 $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/  안에서 리스트 뷰 가있고요

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

로그인 후 평가할 수 있습니다

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

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

로그인