창작마당

그누보드7 이커머스 호환성 보완 플러그인 - SuperBify Commerce Compat

박하맛사탕이긔 2026.09.07 14:09 조회수:269
#플러그인

G7 이커머스 템플릿을 만들면서 필요한 호환성 보완 기능과 쇼핑몰 기본정보 API를 플러그인으로 분리했습니다.

G7에서 이커머스 템플릿을 만들다 보니 sirsoft-ecommerce 쪽에서 몇 군데 보완이 필요한 부분이 있어서 따로 플러그인으로 분리했습니다.

처음에는 템플릿 안에서 필요한 부분만 처리할까 했는데, 그러면 템플릿마다 같은 처리를 반복해야 하고 나중에 버전 대응하기도 애매해질 것 같아서 그냥 플러그인으로 빼는 쪽으로 정리했습니다.

SuperBify Commerce Compat는 Gnuboard 7에서 제공하는 Plugin / Hook 구조 안에서 동작합니다.

G7 코어나 sirsoft-ecommerce 소스를 직접 수정하는 방식은 사용하지 않습니다.

주요 기능

현재 플러그인에서 처리하는 내용은 아래와 같습니다.

  • sirsoft-ecommerce 1.1.2 기준 일부 호환성 보완
  • 쿠폰 Scope 처리 보완
  • 상품 Option Group 파생 처리 보완
  • 결제수단 Guard 처리
  • 재고 예약 Listener 보완
  • 쇼핑몰 기본정보 공개용 API 제공

쇼핑몰 기본정보 API

관리자에 입력되어 있는 쇼핑몰/사업자 정보를 프론트 템플릿에서 사용할 수 있도록 별도의 공개용 API를 제공합니다.

GET /api/plugins/superbify-commerce-compat/shop-info

데이터는

관리자 → 이커머스 → 환경설정 → 기본 정보

에 입력되어 있는 값을 기준으로 가져옵니다.

관리자 설정값 전체를 그대로 내려주는 방식은 아니고, 외부에 공개해도 되는 항목만 화이트리스트로 지정해서 반환합니다.

현재 사용하는 항목은 쇼핑몰명, 회사명, 사업자등록번호, 대표자명, 주소, 전화번호, 이메일, 통신판매업 신고번호, 개인정보 책임자 정보 등입니다.

값이 비어 있는 항목은 빈 문자열로 처리되며 템플릿에서도 해당 항목을 출력하지 않는 식으로 사용할 수 있습니다.

이걸 왜 따로 만들었나

현재 SuperBify 쪽에서 G7 기반 커머스 템플릿을 몇 개 만들고 있습니다.

템플릿을 만들면서 필요한 보완 코드를 각각 템플릿 안에 넣기 시작하면 같은 코드가 계속 중복되기 때문에, 이커머스 쪽 공통 처리는 플러그인으로 분리했습니다.

대략 구조는 이런 식입니다.

sirsoft-ecommerce
+
SuperBify Commerce Compat
+
SuperBify Commerce Template

가능하면 G7 코어나 공식 모듈은 건드리지 않고, G7에서 제공하는 확장 구조 안에서 해결하는 방향으로 작업하고 있습니다.

설치 방법

G7 관리자에서

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

로 이동한 뒤 아래 저장소 주소를 입력하면 됩니다.

https://github.com/20ft-bahamut/superbify-commerce-compat

설치가 완료되면 플러그인을 활성화해 주세요.

CLI 환경에서는 아래 명령으로 설치할 수 있습니다.

php artisan plugin:install superbify-commerce-compat

설치 후 활성화:

php artisan plugin:activate superbify-commerce-compat

요구사항

  • Gnuboard 7 >= 7.0.8
  • PHP 8.2+
  • sirsoft-ecommerce >= 1.1.2
  • sirsoft-ecommerce 모듈 설치 및 활성화 필요

코어 수정 여부

없습니다.

Gnuboard 7의 Plugin / Hook 확장 구조 안에서만 동작하도록 만들었습니다.

현재 사용처

현재 작업 중인 SuperBify Commerce 계열 G7 템플릿에서 실제로 사용하고 있습니다.

커머스 템플릿 쪽은 가능하면 G7의 기존 이커머스 모듈 API를 그대로 사용하고, 필요한 호환성 처리만 이 플러그인에서 담당하는 구조로 가져가려고 합니다.

설치 또는 사용 중 문제가 있다면

GitHub Issue로 남겨주시면 확인하겠습니다.

저도 G7을 실제로 사용하면서 계속 만들고 있는 중이라, 버전 변경으로 인해 달라지는 부분이 있으면 같이 맞춰가겠습니다.

라이선스

MIT License

개인 프로젝트나 상업 프로젝트 모두 사용 가능합니다.

GitHub

https://github.com/20ft-bahamut/superbify-commerce-compat

20ft

https://20ft.co.kr

총 0개 댓글
0 / 2,000자

다른 창작물 살펴보기