채택완료

그누보드 기본테미를 사용중입니다.

2026-08-05 (수) 14:24:01 256
메인페이지에 최근게시물이 아닌 일반게시판을 바로 띄우고 싶은데 방법이 있을까요 ..?

<?php
if (!defined('_INDEX_')) define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

if (G5_IS_MOBILE) {
    include_once(G5_THEME_MOBILE_PATH.'/index.php');
    return;
}

if(G5_COMMUNITY_USE === false) {
    include_once(G5_THEME_SHOP_PATH.'/index.php');
    return;
}

include_once(G5_THEME_PATH.'/head.php');
?>

<h2 class="sound_only">최신글</h2>

<div class="latest_top_wr">
    <?php
    // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
    // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
    // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
    echo latest('theme/pic_list', 'free', 4, 23);        // 최소설치시 자동생성되는 자유게시판
    echo latest('theme/pic_list', 'qa', 4, 23);            // 최소설치시 자동생성되는 질문답변게시판
    echo latest('theme/pic_list', 'notice', 4, 23);        // 최소설치시 자동생성되는 공지사항게시판
    ?>
</div>
<div class="latest_wr">
    <!-- 사진 최신글2 { -->
    <?php
    // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
    // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
    // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
    echo latest('theme/pic_block', 'gallery', 4, 23);        // 최소설치시 자동생성되는 갤러리게시판
    ?>
    <!-- } 사진 최신글2 끝 -->
</div>

<div class="latest_wr">
<!-- 최신글 시작 { -->
    <?php
    //  최신글
    $sql = " select bo_table
                from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
                where a.bo_device <> 'mobile' ";
    if(!$is_admin)
    $sql .= " and a.bo_use_cert = '' ";
    $sql .= " and a.bo_table not in ('notice', 'gallery') ";     //공지사항과 갤러리 게시판은 제외
    $sql .= " order by b.gr_order, a.bo_order ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
        $lt_style = '';
        if ($i%3 !== 0 ) $lt_style = "margin-left:2%";
    ?>
    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', $row['bo_table'], 6, 24);
        ?>
    </div>
    <?php
    }
    ?>
    <!-- } 최신글 끝 -->
</div>

<?php
include_once(G5_THEME_PATH.'/tail.php');
 
|

답변 7개 / 댓글 1개

채택된 답변
+20 포인트

목적이 "메인에 들어오면 곧바로 게시판이 보이게"라면, 그누보드 구조상 게시판(board.php)을 메인에 통째로 끼워 넣는 방식은 경로·버튼 이동 문제로 손이 많이 갑니다. 실무에서는 아래 두 가지 중 하나로 정리하는 게 깔끔합니다.

방법 1. 메인 접속 시 게시판으로 바로 이동 (가장 간단, 추천)
사용 중인 테마의 index.php 맨 위(모바일 분기보다 위)에 리다이렉트 한 줄을 넣으면, PC와 모바일 모두 메인 접속 즉시 자유게시판이 열립니다.

Copy
<?php if (!defined('_INDEX_')) define('_INDEX_', true); if (!defined('_GNUBOARD_')) exit; // 메인 접속 시 자유게시판으로 바로 이동 goto_url(G5_BBS_URL.'/board.php?bo_table=free');

bo_table=free 부분만 원하는 게시판 아이디로 바꾸면 됩니다. 글쓰기, 페이징, 검색이 전부 원래 게시판 화면에서 그대로 작동하니 별도 작업이 없습니다.

방법 2. 메인은 유지하되 게시판 목록처럼 크게 보여주기
메인 레이아웃(head, tail)을 살리고 싶다면, 올려주신 index.php에서 latest 여러 개를 지우고 하나만 크게 쓰는 방법이 있습니다.

Copy
echo latest('theme/basic', 'free', 20, 40); // 자유게시판 최신글 20줄

이러면 메인이 사실상 그 게시판의 목록 역할을 하고, 제목을 누르면 게시판으로 넘어갑니다. 다만 글쓰기 버튼이나 페이지 넘김까지 메인에서 하고 싶으시면 결국 게시판 화면이 필요하므로, 그 경우는 방법 1이 정답입니다.

원하시는 것이 메인에 ‘게시판 모양의 최신글’이 아니라 글쓰기·검색·분류·페이징까지 동작하는 실제 게시판이라면 board.php를 index.php 안에 include하는 방식은 권장하지 않습니다. head/tail 중복, 전역변수, 상대 경로와 이동 URL 문제가 생길 수 있습니다.
 
가장 안정적인 방법은 사용 중인 테마의 index.php에서 헤더를 출력하기 전에 원하는 게시판으로 이동시키는 것입니다.
 
```php
<?php
if (!defined('_INDEX_')) define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit;
 
goto_url(G5_BBS_URL.'/board.php?bo_table=free');
```
 
free는 원하는 게시판 ID로 바꾸면 됩니다. PC와 모바일 모두 메인 접속 즉시 같은 게시판으로 보내려면 G5_IS_MOBILE 분기보다 위에 두세요.
 
이 방법은 실제 board.php를 여는 것이므로 글쓰기, 검색, 분류, 페이징과 권한 검사가 기존 게시판 그대로 동작합니다.
 
반대로 주소창을 메인 URL로 유지해야 한다면 latest()만으로는 전체 게시판 기능을 만들 수 없습니다. 그 경우에는 목록 조회와 스킨 출력을 메인용으로 별도 구현하거나 라우팅 규칙을 설계해야 합니다. 단순히 board.php를 include하는 것보다 작업 범위가 커집니다.

위 댓글 참고하시어 

헤더
일반게시판 리스트

푸터 

로 구성하시면 되겠네요

안녕하세요 홈페이지 전문 제작 EISOFT 입니다.
http://nvr.eisoft.kr

게시판을 띄우시고 싶으실경우에는 뛰우고자 하는 부분에 AJAX를 도입하여 처리하는것을 권장해드립니다. 데이터베이스 로드는 php sql 문으로 하시고 ajax로 처리하시면 원하시는대로 게시판자체를 페이지내에 등록하실수 있습니다.

답변에 대한 댓글 1개

오 파이팅~ 포트 폴리오가 17개나 있네요
회사 홈페이지 잘봐씁니다.

1 index.php  페이지를 소스를 열고 
   자리 를 잡는다 
1785936339_fcqWWroxrS.webp
1785936369_4dtwZ5GDam.webp


2 자유게시판에 글을 하나 쓰기
1785936522_NEbs5tUGkx.webp
3 메인에 자유게시판의 글을 가져 오기
1785937004_pjXXoJfoEu.webp
1785937647_bPzKfVbm28.webp
이런 식으로 하나 하나 만들면 됩니다 
참고로 
https://sir.kr/boards/g5_skin/26285?search_type=subject_content&keyword=%EA%B5%AC%EC%B0%AC%EC%95%84
이걸 분석 해보시는 것도 ..


모든 게시판을 가져 오는 소스 지만 가저오고싶은 게시판만 가져오도록 소스 수정 하시면 됩니다

다 구찬다 하시면 

https://sir.kr/open-requests
https://sir.kr/jobs/requests
https://sir.kr/jobs/maintenance
위에 글올리면 20만원정도 준다고하면 해줄분 이 한 100명 정도 있어요 
그럼 늘 행복하세요

2026-08-05 (수) 15:33:25
최신글이 각 게시판의 최신글인데 어떻게 게시판을 띄우고 싶으시다는건가요?
어차피 띄워봐야...글쓰기, 페이징, 카테고리 등 버튼 누를 때마다 해당 게시판으로 이동해버리니, 그냥 처음부터 해당 게시판으로 바로 이동시키는 코드를 넣으세요. AI가 그런 것은 기가 막히게 잘 가르쳐 줍니다.

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