<Feed> <Block> 확장과 업그레이드는 어떻게? “게시판별 블록”과 “통합 피드”를 함께 지원하는 혼합형 구조에 대해서 | TIP 넷보드2 /TYPE
TIP // ID_0028

<Feed> <Block> 확장과 업그레이드는 어떻게? “게시판별 블록”과 “통합 피드”를 함께 지원하는 혼합형 구조에 대해서

AUTHOR: NETCITY_ADMIN DATE: 2026.08.19 18:33

메인 섹션
├── board       게시판 하나의 최신글
├── feed        여러 게시판을 하나의 최신글 피드로 통합
├── collection  여러 게시판을 묶되 게시판별 그룹 유지
└── widget      기존 자유형 위젯

예를 들면 설정은 다음처럼 확장할 수 있습니다.

{
"main_feed": {
"type": "feed",
"sources": ["notice", "news", "blog", "dev"],
"layout": "featured-list",
"count": 8,
"sort": "latest",
"show_board": true,
"show_thumbnail": true
}
}

 

고려할 레이아웃

 

통합 리스트형

여러 게시판의 글을 날짜순으로 섞어 보여줍니다.

[NEWS] 새로운 소식입니다       2026.08.19
[NOTICE] 서버 점검 안내          2026.08.18
[BLOG] 개발 기록                2026.08.17

공지, 뉴스, 개발 기록처럼 모든 게시판을 한 흐름으로 보여줄 때 적합합니다.

 

피처드 + 리스트형

가장 최신이거나 대표 게시물 하나를 크게 보여주고, 나머지를 목록으로 배치합니다.

메인 첫 화면에 시각적 중심을 만들고 싶을 때 적합합니다. main_column_widget.php가 이미 비슷한 방향이므로 이 파일의 데이터 수집부를 공통화할 수 있습니다.

 

게시판별 컬렉션형

게시판별 제목은 유지하되, 여러 게시판을 한 행이나 카드 그리드로 묶습니다.

현재 방식과 가장 비슷해서 기존 사용자에게 익숙하고, 게시판의 성격도 보존됩니다.

 

미디어 카드형

이미지, 유튜브, 첨부파일이 있는 글 중심으로 카드화합니다.

뉴스, 갤러리, 유튜브 게시판에 적합하지만 이미지가 없는 게시물의 대체 표현이 필요합니다.

 

 

탭형

여러 게시판을 하나의 영역에 넣고 탭으로 전환합니다.

화면 높이를 아끼는 장점이 있지만, 탭 안의 콘텐츠가 처음부터 모두 노출되지 않는 단점이 있습니다.

 

 

트렌딩/인기순형

최신순 외에 wr_hit, 최근 7일, 카테고리 등을 기준으로 정렬합니다. 현재 latest_post1.php:1-50, latest_post2.php:1-50, latest_post3.php:1-50가 이미 인기글·주간 인기글 개념을 구현하고 있습니다.

중요한 것은 레이아웃보다 데이터 표준화입니다.

현재 각 파일이 다음 작업을 반복하고 있습니다.

  • 게시판 테이블명 확인
  • board_ 접두사 처리
  • UNION ALL 쿼리 생성
  • 썸네일 추출
  • 본문 요약
  • 날짜 및 링크 생성
  • HTML 출력

이 때문에 latest_group1.php, main_column_widget.php, latest_post1.php 등이 서로 비슷하지만 세부 동작은 다릅니다. 먼저 공통 함수 또는 별도 로더를 만들고, 레이아웃은 배열만 받아 출력하도록 분리하는 편이 좋습니다.

<?php
$post = [
   'id' => 123,
   'board_key' => 'news',
   'board_title' => '뉴스',
   'subject' => '게시물 제목',
   'excerpt' => '본문 요약',
   'thumbnail' => '/data/image.jpg',
   'author' => '작성자',
   'date' => '2026.08.19',
   'hits' => 42,
   'url' => 'view.php?...',
   'has_media' => true
];

 

feed data
 ├── layout_list.php
 ├── layout_featured.php
 ├── layout_cards.php
 ├── layout_tabs.php
 └── layout_masonry.php


구현 순서로는 다음이 적절합니다.

  1. 기존 board 타입은 그대로 유지
  2. feed 타입 추가
  3. feed 전용 데이터 수집 함수 작성
  4. sources, sort, count, category, media_only 지원
  5. 레이아웃은 list, featured, cards부터 추가
  6. 관리자 설정에서 게시판 다중 선택과 레이아웃 선택 제공
  7. 이후 탭·슬라이더·인기순을 추가

main_config.json을 당장 완전히 바꾸기보다는 기존 형식을 유지하면서 새 항목만 추가하는 편이 안전합니다. 관리 화면인 index_setting.php:40-100도 현재는 게시판과 위젯을 파일 단위로만 관리하므로, 통합 피드는 별도의 “피드 설정” UI를 추가하는 방식이 적합합니다.

결론적으로는 “게시판별 최신글 스킨을 계속 늘리는 방식”보다 “공통 최신글 데이터 + 여러 레이아웃” 구조가 장기적으로 훨씬 좋습니다. 첫 구현은 featured-list와 cards 두 가지면 충분합니다. 기존 화면을 유지하면서도 여러 게시판을 섞어 보여줄 수 있고, 나중에 탭형·인기순·미디어형을 추가하기도 쉽습니다.

BACK_TO_LIST