cms-orbit/announcement는 Orbit 문서 엔진 위에 구축된 공지사항 패키지입니다.
관리자에서는 DocumentEntity 기반 CRUD로 공지를 관리하고, 프런트에서는 목록/상세 공개 페이지와 사이트맵 URL을 함께 제공합니다.
cms-orbit/core기반 문서형 공지 콘텐츠- 다국어
documents/document_contents저장 구조 - Orbit 관리자 CRUD 자동 등록
- 공개 목록/상세 페이지 제공
- 갤러리 첨부, 공개 시각(
public_at), 공지 여부(is_notice) 지원 - 사이트맵/SEO 노출용 공개 URL 제공
composer require cms-orbit/announcement:^4.0
php artisan migrate
php artisan orbit:frontend-sync # orbit:install 직후라면 생략 가능
npm run dev # 공개 Inertia 페이지 개발 시cms-orbit/core가 먼저 설치·설정(orbit:install)되어 있어야 합니다.
이 패키지는 resources/boost/guidelines/announcement.md, resources/boost/skills/announcement-development/를 제공합니다.
- Boost 최초 설정: 호스트에서
php artisan boost:install1회 - 이후:
orbit:install/orbit:sync가 이 패키지를 Boost에 등록하고boost:update실행 (Boost가 이미 설정된 경우)
| 작업 | 필수 여부 |
|---|---|
composer require cms-orbit/announcement + php artisan migrate |
필수 |
php artisan orbit:frontend-sync |
필수 (Core 설치 시 orbit:install이 이미 실행했다면 생략 가능) |
| Inertia 브리지 TSX 수동 작성 | 불필요 — sync 명령이 announcement/index, announcement/show 생성 |
Vite @cms-orbit/announcement alias |
불필요 — sync 명령이 주입 |
관리자 CRUD·공개 라우트·번역은 패키지 Service Provider가 자동 등록합니다. 호스트 routes/web.php 수정은 필요하지 않습니다.
설치 후 Orbit 관리자 Documents 섹션에 공지 엔티티가 자동 등록됩니다.
제목, 슬러그, 본문, 설명, 갤러리, 공개 시각, 승인 상태를 한 화면에서 관리할 수 있습니다.
패키지는 다음 공개 라우트를 제공합니다.
announcements.indexannouncements.show
기본 경로는 아래와 같습니다.
/announcements
/announcements/{slug}
php artisan orbit:frontend-sync가 호스트 resources/js/pages/announcement/*.tsx 브리지를 생성합니다. 커스터마이징이 필요할 때만 아래처럼 직접 re-export 하세요.
export { default } from '@cms-orbit/announcement/pages/announcement/index';export { default } from '@cms-orbit/announcement/pages/announcement/show';- 공지 전용 마이그레이션
- 공지 모델과 팩토리
- 관리자 Entity 설명자
- 공개 컨트롤러와 웹 라우트
- 한국어 번역 리소스
slug를 비워두면 자동 생성 흐름을 사용할 수 있게 설계되어 있습니다.- 공개 상세 URL은 엔티티의
showUrl()과 사이트맵 URL 생성에 함께 사용됩니다. - 공개 시각과 승인 상태를 같이 써두면 발행 시점을 맞춘 운영이 수월합니다.
MIT