회원레벨을 이용한 상품카테고리별 구매제한
쇼핑몰 관리 > 쇼핑몰 설정 > 기타 설정 > 상품구입 권한
위 옵션을을 이용해서 전체상품에 대한 회원별 구매제한이 가능합니다만,
몇몇 쇼핑몰의 경우 [카테고리별 구매제한]이 되어야 해서 구현했습니다.
응용하시면 상품별 구매제한도 가능합니다.
수정해야할 파일은 아래와 같습니다.
1. /adm/shop_admin/categoryform.php
2. /adm/shop_admin/categoryformupdate.php
3. /shop/cartupdate.php
---------------------------------------------------------------------------------------------
[/adm/shop_admin/categoryform.php : 240번째줄 판매가능 아래 <tr>~</tr> 추가]
[code]
<tr>
<th scope="row"><label for="ca_use">판매제한</label></th>
<td>
<?php echo help("판매가능한 회원레벨을 제한합니다."); ?>
<input type="checkbox" name="ca_purchase_limit[]" onclick="$('input.ca_purchase_limit').attr('checked', false)" value="" <?php echo ($ca['ca_purchase_limit'] == "") ? "checked" : ""; ?> value="1" id="ca_purchase_limit_all">
<label for="ca_purchase_limit_all">제한없음</label>
<?php for ($i = 1 ; $i <= 9 ; $i++) { ?>
<input type="checkbox" name="ca_purchase_limit[]" onclick="$('#ca_purchase_limit_all').attr('checked', false)" <?php echo (strpos($ca['ca_purchase_limit'], (STRING)$i) !== false) ? "checked" : ""; ?> value="<?php echo $i ?>" class="ca_purchase_limit" id="ca_purchase_limit<?php echo $i ?>">
<label for="ca_purchase_limit<?php echo $i ?>"><?php echo $i ?></label>
<?php } // end of 'for' ?>
</td>
</tr>
[/code]
---------------------------------------------------------------------------------------------
[/adm/shop_admin/categoryformupdate.php : 86번째줄 if ($w == "") 위쪽에 아래 추가]
[code]
// 구매회원 레벨제한
// ALTER 쿼리는 한번 실행했으면 삭제가능
sql_query("ALTER TABLE `g5_shop_category` ADD `ca_purchase_limit` VARCHAR(64) NOT NULL COMMENT '구매회원 레벨제한' AFTER `ca_adult_use`", 0);
$sql_common .= ", ca_purchase_limit = '".implode(",", $ca_purchase_limit)."'";
if ($w == "")
{
if (!trim($ca_id))
alert("분류 코드가 없으므로 분류를 추가하실 수 없습니다.");
[/code]
---------------------------------------------------------------------------------------------
[/shop/cartupdate.php : 100번째줄 근방 // 최소, 최대 수량 체크 위쪽에 아래 추가]
[code]
// 구매회원 레벨제한
$sql = " select ca_purchase_limit from {$g5['g5_shop_category_table']} where ca_id = '$it[ca_id]' ";
$ca = sql_fetch($sql);
// 레벨제한값이 있을 경우 체크
if ($ca['ca_purchase_limit'] != "") {
// 레벨제한에 로그인된 회원의 레벨이 없을 경우
if (strpos($ca['ca_purchase_limit'], (STRING)$member['mb_level']) === false) {
alert("해당상품은 특정회원만 구매가 가능합니다.");
}
}
// 최소, 최대 수량 체크
if($it['it_buy_min_qty'] || $it['it_buy_max_qty']) {
$sum_qty = 0;
for($k=0; $k<$opt_count; $k++) {
[/code]
위 옵션을을 이용해서 전체상품에 대한 회원별 구매제한이 가능합니다만,
몇몇 쇼핑몰의 경우 [카테고리별 구매제한]이 되어야 해서 구현했습니다.
응용하시면 상품별 구매제한도 가능합니다.
수정해야할 파일은 아래와 같습니다.
1. /adm/shop_admin/categoryform.php
2. /adm/shop_admin/categoryformupdate.php
3. /shop/cartupdate.php
---------------------------------------------------------------------------------------------
[/adm/shop_admin/categoryform.php : 240번째줄 판매가능 아래 <tr>~</tr> 추가]
[code]
<tr>
<th scope="row"><label for="ca_use">판매제한</label></th>
<td>
<?php echo help("판매가능한 회원레벨을 제한합니다."); ?>
<input type="checkbox" name="ca_purchase_limit[]" onclick="$('input.ca_purchase_limit').attr('checked', false)" value="" <?php echo ($ca['ca_purchase_limit'] == "") ? "checked" : ""; ?> value="1" id="ca_purchase_limit_all">
<label for="ca_purchase_limit_all">제한없음</label>
<?php for ($i = 1 ; $i <= 9 ; $i++) { ?>
<input type="checkbox" name="ca_purchase_limit[]" onclick="$('#ca_purchase_limit_all').attr('checked', false)" <?php echo (strpos($ca['ca_purchase_limit'], (STRING)$i) !== false) ? "checked" : ""; ?> value="<?php echo $i ?>" class="ca_purchase_limit" id="ca_purchase_limit<?php echo $i ?>">
<label for="ca_purchase_limit<?php echo $i ?>"><?php echo $i ?></label>
<?php } // end of 'for' ?>
</td>
</tr>
[/code]
---------------------------------------------------------------------------------------------
[/adm/shop_admin/categoryformupdate.php : 86번째줄 if ($w == "") 위쪽에 아래 추가]
[code]
// 구매회원 레벨제한
// ALTER 쿼리는 한번 실행했으면 삭제가능
sql_query("ALTER TABLE `g5_shop_category` ADD `ca_purchase_limit` VARCHAR(64) NOT NULL COMMENT '구매회원 레벨제한' AFTER `ca_adult_use`", 0);
$sql_common .= ", ca_purchase_limit = '".implode(",", $ca_purchase_limit)."'";
if ($w == "")
{
if (!trim($ca_id))
alert("분류 코드가 없으므로 분류를 추가하실 수 없습니다.");
[/code]
---------------------------------------------------------------------------------------------
[/shop/cartupdate.php : 100번째줄 근방 // 최소, 최대 수량 체크 위쪽에 아래 추가]
[code]
// 구매회원 레벨제한
$sql = " select ca_purchase_limit from {$g5['g5_shop_category_table']} where ca_id = '$it[ca_id]' ";
$ca = sql_fetch($sql);
// 레벨제한값이 있을 경우 체크
if ($ca['ca_purchase_limit'] != "") {
// 레벨제한에 로그인된 회원의 레벨이 없을 경우
if (strpos($ca['ca_purchase_limit'], (STRING)$member['mb_level']) === false) {
alert("해당상품은 특정회원만 구매가 가능합니다.");
}
}
// 최소, 최대 수량 체크
if($it['it_buy_min_qty'] || $it['it_buy_max_qty']) {
$sum_qty = 0;
for($k=0; $k<$opt_count; $k++) {
[/code]
댓글 10개
카타르시스맨
11년 전
1054 : Unknown column 'it_sc_type' in 'field list'
error file : /shop/cartupdate.php
이런 메세지가 뜨네요...ㅠㅠ 필드 추가를 해야하나요?
error file : /shop/cartupdate.php
이런 메세지가 뜨네요...ㅠㅠ 필드 추가를 해야하나요?
11년 전
소스를 보시면 아시겠지만, it_sc_type 라는 필드를 사용하지는 않습니다.
다른쪽으로 확인을 해보셔야 할 것 같네요
다른쪽으로 확인을 해보셔야 할 것 같네요
11년 전
이 부분을 활용 해 회원 레벨별 구매도 만들 수 있겠네요.
감사합니다.
감사합니다.
폼나게살자
10년 전
유용한 팁이네요~~~ㅎ
감사합니다
감사합니다
lacomparte
8년 전
감사합니다 ㅎ
8년 전
잘쓰겠습니다
guswjd
8년 전
필요한 소스 입니다. 감사합니다.
아이에프티
6년 전
소스 수정 후 설정은 어디페이지에서 하면되나요 ?
Bsori
1년 전
유용한 팁 감사합니다.
하늘그루터기
1년 전
회원등급별 제품구매
게시판 목록
영카트5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 401 |
|
1년 전 | 2333 | |
| 400 |
|
1년 전 | 1385 | |
| 399 | 1년 전 | 2770 | ||
| 398 | 1년 전 | 868 | ||
| 397 |
|
1년 전 | 2745 | |
| 396 | 1년 전 | 1336 | ||
| 395 | 1년 전 | 734 | ||
| 394 | 1년 전 | 451 | ||
| 393 | 1년 전 | 1010 | ||
| 392 |
다케미카코
|
1년 전 | 2651 | |
| 391 |
|
1년 전 | 805 | |
| 390 |
사노라가노라
|
1년 전 | 1051 | |
| 389 | 1년 전 | 503 | ||
| 388 |
|
1년 전 | 85436 | |
| 387 | 1년 전 | 822 | ||
| 386 | 1년 전 | 2519 | ||
| 385 | 1년 전 | 828 | ||
| 384 | 2년 전 | 1848 | ||
| 383 |
|
2년 전 | 1875 | |
| 382 | 2년 전 | 1427 | ||
| 381 | 2년 전 | 2578 | ||
| 380 |
|
2년 전 | 2128 | |
| 379 |
e4uhack
|
2년 전 | 2073 | |
| 378 |
|
2년 전 | 1066 | |
| 377 |
|
2년 전 | 1381 | |
| 376 | 2년 전 | 1211 | ||
| 375 |
|
2년 전 | 2234 | |
| 374 |
페이투페이
|
2년 전 | 1727 | |
| 373 |
|
2년 전 | 1454 | |
| 372 | 2년 전 | 1234 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기