BOARD

문제 해결

그누보드7 커뮤니티 템플릿 복제 시 식별자 중복으로 인한 업데이트 오작동 해결 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 0회 작성일 26-11-12 16:54

본문

그누보드7 커뮤니티 템플릿 복제 시 식별자 중복으로 인한 업데이트 오작동 해결 방법

그누보드7에서 기존 템플릿을 복제하여 커스텀 템플릿을 만들 때 원본과 식별자나 버전이 겹쳐 발생하는 업데이트 알림 및 레이아웃 손실 문제를 해결하고, 필요한 설정 파일을 올바르게 수정하는 방법을 알아봅니다.

커스텀 템플릿 복제 시 원본 업데이트 알림이 뜨는 이유와 해결 방법

그누보드7에서 기존 기본 템플릿(sirsoft-basic) 등을 복제하여 새 커스텀 템플릿을 만들었을 때 관리자 화면에서 원본 템플릿의 업데이트 알림이 뜨는 것은, 복제 과정에서 단순 복사만 이루어지고 내부의 고유 식별 정보가 원본 그대로 남아 있기 때문에 발생합니다.

1. 주요 원인

  • 복제한 템플릿의 template.json 파일 안에 있는 원본 저장소 주소(github_url), 식별자(identifier), 이름(name), 버전 정보가 원본과 동일하게 유지되어 있습니다.
  • 빌드 설정 파일(vite.config.ts)의 전역 식별자나 IIFE 전역 변수명이 새 템플릿 기준으로 치환되지 않았습니다.
  • 이로 인해 완전히 다른 커스텀 템플릿임에도 불구하고 관리자 화면이 원본 템플릿의 배포 버전을 바라보며 업데이트 알림을 발생시킵니다.

2. 해결 및 조치 방법

  • 사전 백업: 템플릿 파일 및 레이아웃을 수정하기 전에는 반드시 템플릿 전체를 백업해 두어야 합니다.
  • template.json 수정: 복제한 템플릿 폴더 내의 template.json 파일을 열어 identifier, name, version, github_url 항목을 원본과 겹치지 않는 고유값 및 새 사용자 레포지토리 주소로 변경합니다.
  • 빌드 설정 파일 수정: vite.config.ts 파일의 IIFE 전역 변수명 및 빌드 산출물 식별 정보를 새 템플릿 기준으로 함께 치환합니다.
  • 업데이트 실행 시 주의사항: 템플릿 관리 화면에서 업데이트 버튼을 클릭할 때 기존 편집 레이아웃을 덮어쓸지 여부를 묻는 모달이 표출됩니다. 이때 '모두 교체'를 선택하면 기존에 작업한 레이아웃이 덮어쓰여 손실될 수 있으므로 주의해야 합니다.

커스텀 템플릿 식별자 중복 방지 및 수정 파일 안내

그누보드7 환경에서 기존 템플릿을 복제하여 새 커스텀 템플릿을 만들 때 원본과 식별자 및 버전이 겹치면 관리자 화면에서 원본 업데이트 알림이 뜨거나 업데이트 시 레이아웃이 덮어씌워지는 오작동이 발생할 수 있습니다. 이를 방지하기 위해 독립적으로 수정해야 할 파일과 항목은 다음과 같습니다.

1. 템플릿 설정 파일 (template.json) 수정

복제한 템플릿 폴더 내의 template.json 파일에서 원본의 정보가 남아있지 않도록 다음 고유값들을 변경해야 합니다.

  • identifier: 원본과 겹치지 않는 vendor-template 형식 등의 고유 식별자로 변경합니다.
  • name: 새 커스텀 템플릿의 이름으로 수정합니다.
  • version: 템플릿 버전을 새 템플릿 기준에 맞게 설정합니다.
  • github_url: 원본 저장소 주소(예: g7-template-sirsoft-basic)가 그대로 남아있으면 관리자 화면에서 원본 업데이트를 인식하므로, 원본 URL을 제거하거나 사용자의 새 저장소 주소로 명시합니다.

2. 빌드 설정 파일 (vite.config.ts) 수정

단순 복사만 이루어지면 빌드 설정의 전역 식별자가 치환되지 않으므로 아래 항목을 함께 수정해야 합니다.

  • IIFE 전역 변수명 및 빌드 산출물 식별 정보: 새 템플릿 기준에 맞추어 함께 치환하여 원본과의 충돌을 방지합니다.

3. 적용 전후 확인 사항

  • 사전 백업: 템플릿 파일을 직접 수정하거나 업데이트를 진행하기 전에는 반드시 전체 템플릿을 백업해 두어야 합니다.
  • 결과 확인: 설정 변경 후 관리자 화면의 템플릿 관리 영역으로 이동하여 원본 템플릿의 업데이트 알림이 더 이상 노출되지 않는지 확인합니다.

그누보드7 템플릿 헤더 메뉴 수정 및 순서 변경 방법

그누보드7 기본 번들 템플릿(sirsoft-basic) 및 사용자 템플릿은 관리자 화면에서 헤더 메뉴를 편집하거나 순서를 직접 변경하는 기능을 제공하지 않습니다. 데이터베이스의 boards 테이블에도 메뉴 순서용 컬럼이 없어 관리자 화면에서 순서를 지정할 수 없습니다.

따라서 헤더 메뉴를 수정하거나 순서를 바꾸려면 원본 템플릿(sirsoft-basic)을 직접 수정하는 대신 별도의 사용자 템플릿으로 복제한 후 템플릿 소스 파일을 직접 수정해야 합니다.

1. 템플릿 소스 파일 수정 위치

헤더 메뉴 구조와 순서는 템플릿 내의 컴포넌트 파일에서 정의됩니다.

  • 데스크톱 환경: Header.tsx 파일의 Nav 안에서 게시판 map 블록과 인기·쇼핑 버튼의 위치를 이동하여 순서를 변경할 수 있습니다.
  • 모바일 환경: MobileNav.tsx 파일의 Li 블록도 동일한 순서로 수정해야 모바일 화면에 반영됩니다.
  • 게시판 표시 순서 재정렬: API가 전달한 순서를 그대로 사용하지 않고 템플릿 소스에서 직접 역순 등으로 정렬할 수 있습니다.
    // Header.tsx 예시
    const orderedBoards = [...boards].reverse(); // 생성 역순 정렬

2. 주의사항 및 다음 행동

  • 번들 템플릿을 직접 수정하면 향후 코어 업데이트 시 내용이 덮어써질 수 있으므로 반드시 사용자 템플릿으로 복제한 뒤 수정하세요.
  • 데스크톱(Header.tsx)과 모바일(MobileNav.tsx) 컴포넌트를 모두 수정해야 양쪽 환경에서 동일한 메뉴 순서가 적용됩니다.
내 상황선택 기준다음 행동
커스텀 템플릿 복제 후 원본 업데이트 알림이 뜸template.json 내 식별자 및 원본 GitHub URL 잔존 여부identifier, name, version, github_url을 고유값으로 변경
빌드 설정 파일 관련 충돌 발생vite.config.ts 내 전역 식별자 치환 여부IIFE 전역 변수명 및 빌드 산출물 식별 정보 수정
업데이트 시 레이아웃 손실 우려업데이트 모달의 '모두 교체' 옵션 노출 여부수정 전 전체 템플릿 백업 수행

Q. template.json을 수정해도 업데이트 알림이 사라지지 않습니다.

  • 예외: vite.config.ts의 IIFE 전역 변수명이나 빌드 산출물 식별 정보가 원본 값으로 남아있으면 관리자가 이를 원본 템플릿의 업데이트로 인식할 수 있습니다. 해당 파일 내의 식별자도 함께 수정해야 합니다.

Q. 업데이트 시 레이아웃이 덮어씌워지는 것을 막으려면?

  • 대안: 업데이트 과정에서 '모두 교체'를 선택하면 기존 레이아웃이 손실됩니다. 업데이트 전 반드시 템플릿 폴더 전체를 백업하십시오. 만약 손실되었다면 코드 편집 화면이나 레이아웃 편집기의 버전 기록을 통해 복구를 시도할 수 있습니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.