테스트 사이트 - 개발 중인 베타 버전입니다

코어 파일을 건드리지 않고 확장하는 법

· 2개월 전 · 364

1. 상품 정보, extra_item 필드로 관리하기
영카트에서 상품을 등록할 때, 제공되는 기본 항목 외에 추가 정보를 넣고 싶을 때가 많죠. 이때 데이터베이스 테이블(g5_shop_item)에 직접 컬럼을 추가하는 건 좋지 않은 방법이에요.

대신 영카트에는 이미 개발자를 위해 준비된 10개의 **추가 상품 필드(it_1 ~ it_10)**가 있습니다.

사용법:
관리자 페이지에서 상품관리 > 상품등록 메뉴로 가면, 아래쪽에 **'추가 항목 1'부터 '추가 항목 10'**까지 입력란이 보일 거예요. 이 필드들은 데이터베이스의 it_1부터 it_10 컬럼에 바로 연결됩니다.

활용 예시:

it_1: 상품 원산지

it_2: 유통기한

it_3: 특정 프로모션 코드

it_4: 맞춤형 상품의 추가 옵션

이렇게 미리 준비된 필드들을 활용하면 데이터베이스 구조를 변경할 필요 없이 원하는 정보를 깔끔하게 추가하고 관리할 수 있습니다.

 

2. 주문/결제 프로세스에 커스텀 기능 추가하기
영카트에서 가장 핵심적인 부분은 결제 후 주문이 완료되는 과정입니다. 이 과정에 여러분만의 기능을 추가하고 싶을 때, 코어 파일을 건드리지 않는 가장 좋은 방법은 훅(Hook)을 사용하는 것입니다.

훅은 특정 이벤트가 발생했을 때(예: 주문이 성공적으로 처리되었을 때) 여러분이 만든 코드를 실행하도록 '걸어두는' 역할을 해요.

활용 예시:

주문이 완료되면, 고객에게 자동으로 카카오 알림톡을 보내는 기능.

특정 상품이 팔리면, 재고 관리 시스템에 데이터를 넘기는 기능.

사용 방법:
그누보드 설치 폴더의 shop/extend 폴더로 가서, shop.extend.php라는 파일을 만드세요. 이 파일은 결제와 관련된 모든 페이지에서 자동으로 로드됩니다.

아래는 주문이 성공적으로 완료되었을 때(order_update_after) 여러분의 커스텀 함수를 실행하는 예시 코드입니다.

 

<?php
if (!defined('_GNUBOARD_')) exit;

// 주문이 완료된 후 실행될 함수를 정의합니다.
function my_custom_order_process($od) {
    // 주문 번호($od['od_id'])와 고객 정보($od['od_name'])를 사용해
    // 알림톡을 보내거나, 외부 API에 데이터를 전송하는 코드를 여기에 작성하세요.
    
    // 예시: 알림톡 보내기 함수 호출
    send_alrimtalk_to_customer($od);
}

// 영카트의 특정 이벤트에 위 함수를 '걸어둡니다'.
add_event('order_update_after', 'my_custom_order_process');
?>

 

이렇게 훅을 활용하면 영카트의 핵심 로직을 건드리지 않으면서, 여러분만의 기능을 안전하게 추가할 수 있습니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1634
1632
1631
1630
1629
1625
1608
1595
1578
1571
1567
1561
1560
1558
1555
1554
1553
1552
1551
1547
1538
1531
1527
1523
1522
1512
1511
1506
1503
1489