핵심 결정
노출 모델
상단 노출(TOP) / 숨김(HIDDEN) 2단 — 기존 usable은 on/off 축 그대로 유지
진입 방식
[결정 대기] 배너·이미지 link / 퀵메뉴 content_id / 딥링크 중 택1 (구두 확인 후)
순번 규칙
노출↔숨김 이동 시 양쪽 그룹 sort_order 즉시 재계산(빈 번호 없이 1부터)
빈 페이지
노출 컨텐츠 0건 숨김 페이지는 링크 진입 시 빈 상태 안내, 상단 전환 차단(가정)
벤치마크
식봄식 '상단 밖 숨김 페이지' 구조를 참고
main_content_category WRITE
idPK varchar(255)
parent_idFK varchar(30)
namevarchar(255)
sort_orderinteger
usableboolean
expose_typevarchar(10)
link_keyvarchar(60)
bookmark_onboolean
메인 컨텐츠 카테고리. 노출 상태(expose_type)·링크 키(link_key) 신규 추가. 상단/숨김을 이 테이블에서 분기.
main_content READ
idPK varchar(100)
category_idFK varchar(255)
namevarchar(30)
typevarchar(30)
usableboolean
카테고리에 속한 개별 컨텐츠(배너·타임세일·그리드 등). 빈 페이지 판정에 사용.
main_content_image READ
idPK integer
content_idFK varchar(30)
linkvarchar
sort_orderinteger
컨텐츠 이미지·링크. link 컬럼이 숨김 페이지 진입 경로 후보 1.
main_content_category_expose_log 신규
idPK bigserial
category_idFK varchar(255)
before_typevarchar(10)
after_typevarchar(10)
changed_byvarchar(20)
노출↔숨김 전환 이력(가정). 감사 추적용.
main_content.category_id → main_content_category.id (카테고리별 컨텐츠)
main_content_image.content_id → main_content.id (컨텐츠 이미지·링크)
quick_menu.content_id → 숨김 페이지 진입 링크(후보 경로)
main_content_category_expose_log.category_id → main_content_category.id (노출 전환 이력)
-- 메인 컨텐츠 카테고리에 '노출 상태(상단/숨김)'와 '링크 키' 추가
-- 기존 usable(on/off)은 그대로 두고, 상단 노출 여부를 별도 축으로 분리한다.
ALTER TABLE main_content_category
ADD COLUMN expose_type VARCHAR(10) NOT NULL DEFAULT 'TOP', -- 노출 상태: TOP(상단 노출) / HIDDEN(숨김·링크 전용)
ADD COLUMN link_key VARCHAR(60); -- 숨김 페이지 진입용 링크 키(slug). 진입 방식 확정 후 사용(가정)
COMMENT ON COLUMN main_content_category.expose_type IS '노출 상태 TOP=상단 노출 / HIDDEN=상단 밖 숨김 페이지';
COMMENT ON COLUMN main_content_category.link_key IS '숨김 페이지 링크 키(유니크, slug). 진입 경로 확정 후 배너/퀵메뉴/딥링크에서 참조';
-- 링크 키 유니크(NULL 다수 허용)
CREATE UNIQUE INDEX ux_mcc_link_key ON main_content_category (link_key) WHERE link_key IS NOT NULL;
-- 상단 노출 조회 최적화: 노출 상태 + 사용여부 + 순번
CREATE INDEX ix_mcc_expose_sort ON main_content_category (expose_type, usable, sort_order);
-- (가정) 노출 상태 변경 이력. 노출↔숨김 전환 감사 추적용.
CREATE TABLE main_content_category_expose_log (
id BIGSERIAL PRIMARY KEY,
category_id VARCHAR(255) NOT NULL, -- main_content_category.id
before_type VARCHAR(10) NOT NULL, -- 변경 전 노출 상태
after_type VARCHAR(10) NOT NULL, -- 변경 후 노출 상태
changed_by VARCHAR(20) NOT NULL, -- 변경 관리자
changed_on TIMESTAMP NOT NULL DEFAULT now()
);
COMMENT ON TABLE main_content_category_expose_log IS '메인 카테고리 노출↔숨김 전환 이력(가정)';
03스토리보드 — 화면 & 흐름
상단 노출 카테고리만 있던 메인 컨텐츠를 노출/숨김 2단으로 확장해, 상단 밖 숨김 페이지를 만들고 배너·링크로만 진입시킨다.
진입 방식 미확정(★★★ 구두 확인 필요) — 숨김 페이지 접근 경로(배너·이미지 링크 / 퀵메뉴 / 딥링크 중 택1)는 구두 확정 후 개발 착수.
오더히어로 관리 › 메인 컨텐츠 관리컬럼 추가
노출 상태 ▾🔍 카테고리명·링크 키카테고리 추가순번 재정렬숨김↔노출 이동
▲ 메인 컨텐츠 카테고리 목록 — 화면 구성(실 데이터 예시)
1목록 진입 — 메인 컨텐츠 관리 목록에서 카테고리별 '노출 상태(상단 노출/숨김)' 컬럼과 상단 필터 칩을 확인한다.
2숨김 페이지 생성 — 카테고리 추가/수정에서 노출 상태를 '숨김'으로 지정하고 링크 키를 입력한다. 상단 탭에는 나타나지 않는다.
3노출↔숨김 이동 — 이동 버튼 클릭 시 확인 모달이 뜨고, 상단 그룹과 숨김 그룹의 sort_order 재계산 결과를 미리 보여준다.
4진입 경로 연결 — 배너·이미지 link 또는 퀵메뉴에 숨김 페이지 링크 키를 연결한다. (방식은 구두 확정 후)
5앱 반영 — TOP은 상단 탭에 노출, HIDDEN은 탭에서 사라지고 연결된 링크로만 진입한다. 컨텐츠 0건이면 빈 상태 안내.
04화면 상세 — 세부 표·규칙
목록 외 품목표·모달·규칙 등 세부 화면
노출↔숨김 이동 확인 모달
이동 시 양쪽 그룹 sort_order 재계산 결과를 미리보기로 제시하고 확인받는다. 빈 페이지는 상단 전환 버튼 비활성(가정).
숨김 페이지 진입 방식 결정표 [결정 대기]
★★★ 구두 확인 후 택1. 신규 컬럼 최소화 원칙상 기존 link/content_id 재사용 우선 권고(가정).