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

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

· 2개월 전 · 361

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');
?>

 

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
2503
2501
2497
2495
2491
2490
2489
2486
2484
2483
2481
2476
2475
2474
2472
2469
2467
2466
2465
2464
2463
2460
2459
2456
2449
2446
2441
2420
2419
2417