그누보드7 사용자 템플릿 - Basic Menu Reverse

G7 기본 템플릿을 기반으로 게시판 메뉴를 우선 배치하고, 공식 Filter Hook과 독립 정렬 플러그인을 통해 최신 생성순 정렬을 구현한 사용자 템플릿.

2026-10-22 (목) 18:06:03 조회 15
문의하기
그누보드7 사용자 템플릿 - Basic Menu Reverse
PHP 8.2+ / Laravel 12.x MySQL 8 React 19 / TypeScript / JSON Layout / Tailwind CSS / Template 확장 구조

게시판 우선 배치와 최신 생성순 정렬을 지원하는 그누보드7 독립 사용자 템플릿

Basic Menu Reverse — Board First, Newest First, Core Untouched.

항목 내용
템플릿 ID sirsoft-basic_menu_reverse
최신 버전 v1.0.2
기반 템플릿 SIRsoft Basic
지원 코어 GnuBoard7 7.1.1 이상
정렬 플러그인 glitter-board_menu_sort v1.0.0 이상
배포 형태 GnuBoard7 User Template
GitHub https://github.com/glitter-node/sirsoft-basic_menu_reverse

프로젝트 개요

Basic Menu Reverse는 그누보드7(GnuBoard7)의 기본 사용자 템플릿인 sirsoft-basic을 기반으로 제작한 독립 사용자 템플릿입니다.

기본 템플릿의 게시판, 회원, 페이지 및 쇼핑몰 기능을 유지하면서 상단 메뉴의 배치 순서를 변경하고 게시판 목록을 최신 생성순으로 표시하는 데 중점을 두었습니다.

기본 메뉴 구성:

홈 → 인기 → 쇼핑 → 게시판1 → 게시판2

Basic Menu Reverse 메뉴 구성:

홈 → 게시판2 → 게시판1 → 인기 → 쇼핑

게시판 목록은 최근 생성된 게시판부터 표시되며, 인기 및 쇼핑 메뉴보다 앞에 배치됩니다.

특히 게시판 모듈 sirsoft-board 1.2.1에서 제공하는 공식 Filter Hook을 사용하므로, 기존처럼 게시판 모듈의 Repository 소스를 직접 수정할 필요가 없습니다.

정렬 기능은 독립 플러그인인 glitter-board_menu_sort가 담당합니다.

이를 통해 코어 및 공식 모듈을 수정하지 않는 확장 구조를 구현했습니다.


주요 기능

1. 게시판 우선 메뉴 구성

기본 SIRsoft Basic의 상단 메뉴에서 게시판 목록을 인기 및 쇼핑 메뉴보다 앞에 배치합니다.

  • 게시판 중심 탐색 구조
  • PC 및 모바일 메뉴 구성
  • 기존 게시판 메뉴 API 활용
  • 게시판 이름과 링크의 동적 표시
  • 기존 인기 및 쇼핑 메뉴 기능 유지

기존 템플릿의 전체 기능을 제거하거나 대체하지 않고 메뉴의 배치 순서를 변경합니다.

2. 게시판 최신 생성순 정렬

게시판을 생성한 순서가 다음과 같을 때:

게시판1 → 게시판2 → 게시판3

메뉴에는 다음 순서로 표시됩니다.

게시판3 → 게시판2 → 게시판1

정렬 기준:

우선순위 필드 정렬 방식
1 created_at DESC
2 id DESC

가장 최근 생성된 게시판이 먼저 표시되며, 생성 시각이 같은 게시판은 ID 내림차순으로 정렬합니다.

기존 게시판 데이터를 수정하거나 삭제하지 않습니다.

3. 공식 Filter Hook 기반 정렬

게시판 모듈 sirsoft-board 1.2.1 이상에서 제공하는 공식 확장점을 사용합니다.

sirsoft-board.board.filter_menu_list_result

이 훅은 게시판 목록의 열람 권한 필터링이 완료된 후 실행됩니다.

별도 플러그인인 glitter-board_menu_sort가 해당 훅에 등록되어 최종 게시판 목록의 표시 순서를 변경합니다.

처리 구조:

GnuBoard7
    │
    ▼
sirsoft-board 1.2.1+
    │
    ▼
게시판 메뉴 목록 조회
    │
    ▼
게시판 열람 권한 필터링
    │
    ▼
filter_menu_list_result
    │
    ▼
glitter-board_menu_sort
    │
    ├── created_at DESC
    └── id DESC
    │
    ▼
board-menu API
    │
    ▼
Basic Menu Reverse
    │
    ▼
홈 → 최신 게시판 → 이전 게시판 → 인기 → 쇼핑

공식 모듈의 Repository, Controller 또는 게시판 데이터베이스 구조를 직접 수정하지 않습니다.

4. 코어 및 공식 모듈 수정 없는 확장

이전에는 게시판 생성순 정렬을 변경하기 위해 다음과 같은 공식 모듈 파일을 직접 수정하는 방법이 사용되었습니다.

modules/_bundled/sirsoft-board/src/Repositories/BoardRepository.php

현재 구현에서는 해당 수정이 필요하지 않습니다.

템플릿은 화면 구성을 담당하고, 정렬 플러그인은 서버 측 게시판 메뉴 목록의 정렬을 담당합니다.

이러한 역할 분리를 통해 공식 모듈 업데이트와 사용자 정의 기능의 유지보수 범위를 구분할 수 있습니다.


기술 스택

구분 기술
Backend PHP 8.2+
Framework Laravel 12.x
Frontend React 19 / TypeScript
UI Definition JSON Layout
Template Engine GnuBoard7 Template
Board Module sirsoft-board
Sorting Extension GnuBoard7 Filter Hook
Sorting Plugin glitter-board_menu_sort
Database MariaDB / MySQL

의존성

Basic Menu Reverse v1.0.2는 다음 구성요소를 요구합니다.

구분 구성요소 ID 최소 버전
GnuBoard7 코어 GnuBoard7 7.1.1
게시판 모듈 sirsoft-board 1.2.1
이커머스 모듈 sirsoft-ecommerce 1.3.1
페이지 모듈 sirsoft-page 1.2.1
Daum 우편번호 플러그인 sirsoft-daum_postcode 1.1.1
게시판 메뉴 정렬 플러그인 glitter-board_menu_sort 1.0.0

모든 버전은 최소 요구 버전이며, 실제 설치 환경에서 호환성을 확인해야 합니다.

glitter-board_menu_sort 플러그인

glitter-board_menu_sort는 Basic Menu Reverse의 게시판 최신 생성순 정렬을 위해 별도로 구성한 사용자 정의 플러그인입니다.

공식 SIRsoft 게시판 모듈에 포함된 기능이 아니며, 독립적인 플러그인으로 설치 및 활성화됩니다.

플러그인 소스 구성 위치:

plugins/_bundled/glitter-board_menu_sort/

주의: 해당 플러그인은 특정 사용자 템플릿만 대상으로 정렬하는 구조가 아닙니다.

플러그인이 활성화되면 동일한 board-menu API를 사용하는 다른 템플릿에도 최신 생성순 정렬이 적용될 수 있습니다.

또한 게시판 모듈 관리자의 수동 표시 순서보다 플러그인의 최신 생성순 정렬 정책이 우선 적용됩니다.

관리자 지정 순서를 다시 사용하려면 플러그인을 비활성화해야 합니다.


프로젝트 구조

Gnuboard7Official/
│
├── plugins/
│   ├── _bundled/
│   │   └── glitter-board_menu_sort/
│   │       ├── 정렬 플러그인 소스
│   │       └── ...
│   │
│   └── glitter-board_menu_sort/
│       └── 설치된 사용자 플러그인 소스
│
└── templates/
    ├── _bundled/
    │   └── sirsoft-basic_menu_reverse/
    │       ├── 정렬 템플릿 소스
    │       └── ...		
    │
    └── sirsoft-basic_menu_reverse/
        └── 설치된 템플릿 소스		

템플릿과 정렬 플러그인은 각각 독립적인 설치 및 활성화 단위를 가집니다.


설치 방법

1. 요구 환경 확인

그누보드7 코어 및 공식 확장 모듈이 최소 요구 버전 이상인지 확인합니다.

특히 sirsoft-board 1.2.1 이상이 필요합니다.

2. 정렬 플러그인 설치

GitHub 저장소:

https://github.com/glitter-node/glitter-board_menu_sort

관리자 메뉴:

관리자 → 플러그인 관리 → 수동 설치 → GitHub

저장소 주소를 입력하고 설치를 진행합니다.

설치가 완료되면 glitter-board_menu_sort 플러그인 을 활성화합니다.

플러그인이 활성화되면 공식 Filter Hook을 통해 게시판 메뉴 목록의 최신 생성순 정렬이 적용됩니다.

플러그인의 실제 배포 패키지 또는 소스 제공 여부는 별도로 확인해야 합니다.

3. 사용자 템플릿 설치

GitHub 저장소:

https://github.com/glitter-node/sirsoft-basic_menu_reverse

관리자 메뉴:

관리자 → 템플릿 관리 → 수동 설치 → GitHub

저장소 주소를 입력하고 설치를 진행합니다.

설치가 완료되면 sirsoft-basic_menu_reverse 템플릿을 활성화합니다.

GitHub 저장소를 통한 설치 및 업데이트를 권장합니다.

단, 템플릿 설치만으로 별도 정렬 플러그인이 자동 설치되거나 활성화되는 것은 아닙니다.

4. 설치 후 확인

다음 항목을 확인합니다.

  • 사용자 템플릿 설치 및 활성화
  • glitter-board_menu_sort 설치 및 활성화
  • 게시판 모듈 1.2.1 이상
  • PC 및 모바일 상단 메뉴 구성
  • 게시판 생성일 최신순 정렬
  • 비회원 및 회원별 게시판 열람 권한
  • 인기 및 쇼핑 메뉴 동작
  • API 응답 및 캐시 상태

페이지 로드 문제가 발생하면 관리자 환경설정의 캐시 관리 기능을 통해 캐시 상태를 확인합니다.


운영 시 주의사항

정렬 정책의 적용 범위

정렬 플러그인은 서버 측 게시판 메뉴 API에 적용됩니다.

따라서 Basic Menu Reverse 외에 동일한 API를 사용하는 사용자 템플릿에도 영향을 줄 수 있습니다.

관리자 표시 순서와의 관계

glitter-board_menu_sort가 활성화되면 게시판 생성일 최신순 정렬이 적용됩니다.

관리자에서 설정한 게시판 표시 순서를 우선 사용하려면 정렬 플러그인을 비활성화해야 합니다.

공식 모듈 업데이트

공식 게시판 모듈의 Repository나 Controller를 직접 수정하지 않으므로 기존 직접 수정 방식보다 업데이트 시 충돌 가능성을 줄일 수 있습니다.

다만 공식 Filter Hook의 인터페이스가 변경되는 경우에는 플러그인의 호환성을 다시 확인해야 합니다.


프로젝트 성격

Basic Menu Reverse는 기본 SIRsoft Basic 템플릿을 기반으로 제작한 사용자 템플릿 확장 및 공식 Filter Hook 활용 예제 프로젝트입니다.

기존 게시판 및 쇼핑몰 기능을 유지하면서 다음 사항을 보여주는 데 목적이 있습니다.

  1. 사용자 템플릿에서 상단 메뉴 구조를 변경하는 방법
  2. 공식 Filter Hook을 통해 게시판 정렬을 확장하는 방법
  3. 화면 구성과 서버 측 정렬 기능을 분리하는 방법
  4. 코어 및 공식 모듈을 수정하지 않고 사용자 정의 기능을 구현하는 방법

새로운 게시판 모듈이나 쇼핑몰을 개발하는 프로젝트가 아니라, 기존 그누보드7 기능을 확장하는 구조를 제시합니다.


정리

Basic Menu Reverse는 그누보드7 기본 사용자 템플릿의 기능을 유지하면서 게시판 중심 메뉴 구조를 구현하는 프로젝트입니다.

핵심 특징은 다음과 같습니다.

  • 게시판 메뉴를 인기 및 쇼핑 메뉴보다 앞에 배치
  • 최근 생성된 게시판을 먼저 표시
  • sirsoft-board 공식 Filter Hook 사용
  • glitter-board_menu_sort 독립 정렬 플러그인 의존
  • 코어 및 공식 모듈 소스 수정 불필요
  • 기존 게시판 열람 권한 필터링 유지
  • 템플릿과 정렬 기능의 역할 분리

Basic Menu Reverse — Board First, Newest First, Core Untouched.

https://github.com/glitter-node/glitter-board_menu_sort

https://github.com/glitter-node/sirsoft-basic_menu_reverse

댓글 (0)

로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!