1개 단위 구매를 원칙으로 영카트가 제작되어져 있습니다.
10개단위 구매가 필요하여 연구를 좀 해본 결과 좀 지저분? 하지만... 성공했네요 ^^;
좀 복잡합니다. 잘 따라해주세요~
1개의 가격이 3500원입니다.
10개 단위라고 하면, 35000원이고 수량을 변경시 20개, 30개
이렇게 올라가게 됩니다.
물론 손수 33개라고 입력하시는 분도 계시겠지요~
일단 아이템의 디비를 늘려야 합니다.
yc4_item테이블에 PackNum 이란 필드를 만들어줍니다.
int로 5자리 정도면 충분하겠지요. 기본값을 1로 만들어줍니다.
(데이터베이스 추가법은 검색을이용...^^;;; 제가 말주변이 없습니다)
두번째로, 관리자 페이지의 adm/shop_admin/itemform.php
파일의 224번째줄쯔음(수정이 가해져서 정확하지 않습니다.)
구매단위를 입력하는 부분을 만듭니다.
<td>구매단위</td>
<td>
<input type=text name=PackNum value='<?=$it['PackNum']?>' size=10 class=ed maxlength=5>
<?=help("기본 한개 단위로 수량이 입력됩니다.\n'10' 입력시 마우스로 구매수량을 변경하면 10장단위로 올라갑니다.");?>
</td>
스크립트 검사시 1이상을 입력해야 한다고 해주면 좋겠지만, 관리는 제가 하니까요~ ㅎ
뭐 이런식으로 넣어주신뒤, adm/shop_admin/itemformupdate.php
파일의 203번째줄을 보면
$sql_common = " ca_id = '$ca_id',
로 시작하는 부분이 있습니다. 여기에
PackNum = '$PackNum',
와 같은 항목을 추가해줍니다.
여기까지 하면 데이터 입력과 출력이 잘 되겠지요~
이제 쇼핑몰 외부에 적용할 차례입니다.
shop/item.php
파일의 약 292번째줄의 "수 량" 부분을 보시면,
<area shape="rect" coords="0, 0, 10, 9" href="javascript:qty_add(+1);">
<area shape="rect" coords="0, 10, 10, 19" href="javascript:qty_add(-1);">
이런부분이 나오는데 이걸
<area shape="rect" coords="0, 0, 10, 9" href="javascript:qty_add(+<?=$it[PackNum]?>);">
<area shape="rect" coords="0, 10, 10, 19" href="javascript:qty_add(-<?=$it[PackNum]?>);">
이렇게 바꾸어줍니다.
그뒤 아래로 쪼옥~ 내려오시면 488번째줄에
function qty_add(num)
{
var f = document.fitem;
var qty = parseInt(f.ct_qty.value);
if (num < 0 && qty <= 1)
{
alert("수량은 1 이상만 가능합니다.");
qty = 1;
}
else if (num > 0 && qty >= 9999)
{
alert("수량은 9999 이하만 가능합니다.");
qty = 9999;
}
else
{
qty = qty + num;
}
f.ct_qty.value = qty;
amount_change();
}
이 부분이 나오는데 이걸
function qty_add(num)
{
var f = document.fitem;
var qty = parseInt(f.ct_qty.value);
if (num < 0 && qty <= <?=$it[PackNum]?>)
{
alert("수량은 <?=$it[PackNum]?> 이상만 가능합니다.");
qty = <?=$it[PackNum]?>;
}
else if (num > 0 && qty >= 9999)
{
alert("수량은 9999 이하만 가능합니다.");
qty = 9999;
}
else
{
qty = qty + num;
}
f.ct_qty.value = qty;
amount_change();
}
이렇게 바꾸어줍니다.
그리고 599번째줄 쯔음에
} else if (parseInt(f.ct_qty.value) < 1) {
alert("수량은 1 이상 입력해 주십시오.");
이 부분은
} else if (parseInt(f.ct_qty.value) < <?=$it[PackNum]?>) {
alert("수량은 <?=$it[PackNum]?> 이상 입력해 주십시오.");
이렇게 바꾸어주시면 됩니다.
자 이제, 거의다 끝이 났습니다.
상품입력시, 금액은 1개의 금액을 입력하시고 테스트를 해보시면 모두 작동을 합니다만,
리스트에서는 여전히 한개의 금액만을 표시하고 있습니다.
개당가격이므로 그냥 놔두셔도 좋습니다만,
10개단위이기 때문에, 최소수량이 10개이겠지요~
그래서 리스트에서도 10개의 금액이 나와야 하는게 맞습니다.
전 list.skin.10.php 파일을 사용중입니다.
(shop/list.php 은 수정하시면 안됩니다.)
이 안에 보시면,
display_amount(get_amount($row), $row[it_tel_inq])
위와같은 구문으로 금액이 추출되어져 옵니다.
여기부분에서 단위수량만큼 곱해준다면
display_amount(get_amount($row) * $row['PackNum'], $row[it_tel_inq])
이렇게 되겠지요. 기본수량이 1이기 때문에,
여느 다른상품들도 영향이 없습니다. ^^
여기까지 하면 모두 수정이 완료되었습니다.
나머지는 계산값을 그대로 받아쓰기때문에
아무지장없이 패스~~
list.skin.10.php 이 파일외에 리스트가 나타나는 모든 파일에
곱하기를 해주어야지요~~ 꼼꼼하게 점검해보시고,
솔직히 딱히 쓸데없을것같지만, 만들어놓으니 맘이 한결 편하네요 ^^;
10개단위 구매가 필요하여 연구를 좀 해본 결과 좀 지저분? 하지만... 성공했네요 ^^;
좀 복잡합니다. 잘 따라해주세요~
1개의 가격이 3500원입니다.
10개 단위라고 하면, 35000원이고 수량을 변경시 20개, 30개
이렇게 올라가게 됩니다.
물론 손수 33개라고 입력하시는 분도 계시겠지요~
일단 아이템의 디비를 늘려야 합니다.
yc4_item테이블에 PackNum 이란 필드를 만들어줍니다.
int로 5자리 정도면 충분하겠지요. 기본값을 1로 만들어줍니다.
(데이터베이스 추가법은 검색을이용...^^;;; 제가 말주변이 없습니다)
두번째로, 관리자 페이지의 adm/shop_admin/itemform.php
파일의 224번째줄쯔음(수정이 가해져서 정확하지 않습니다.)
구매단위를 입력하는 부분을 만듭니다.
<td>구매단위</td>
<td>
<input type=text name=PackNum value='<?=$it['PackNum']?>' size=10 class=ed maxlength=5>
<?=help("기본 한개 단위로 수량이 입력됩니다.\n'10' 입력시 마우스로 구매수량을 변경하면 10장단위로 올라갑니다.");?>
</td>
스크립트 검사시 1이상을 입력해야 한다고 해주면 좋겠지만, 관리는 제가 하니까요~ ㅎ
뭐 이런식으로 넣어주신뒤, adm/shop_admin/itemformupdate.php
파일의 203번째줄을 보면
$sql_common = " ca_id = '$ca_id',
로 시작하는 부분이 있습니다. 여기에
PackNum = '$PackNum',
와 같은 항목을 추가해줍니다.
여기까지 하면 데이터 입력과 출력이 잘 되겠지요~
이제 쇼핑몰 외부에 적용할 차례입니다.
shop/item.php
파일의 약 292번째줄의 "수 량" 부분을 보시면,
<area shape="rect" coords="0, 0, 10, 9" href="javascript:qty_add(+1);">
<area shape="rect" coords="0, 10, 10, 19" href="javascript:qty_add(-1);">
이런부분이 나오는데 이걸
<area shape="rect" coords="0, 0, 10, 9" href="javascript:qty_add(+<?=$it[PackNum]?>);">
<area shape="rect" coords="0, 10, 10, 19" href="javascript:qty_add(-<?=$it[PackNum]?>);">
이렇게 바꾸어줍니다.
그뒤 아래로 쪼옥~ 내려오시면 488번째줄에
function qty_add(num)
{
var f = document.fitem;
var qty = parseInt(f.ct_qty.value);
if (num < 0 && qty <= 1)
{
alert("수량은 1 이상만 가능합니다.");
qty = 1;
}
else if (num > 0 && qty >= 9999)
{
alert("수량은 9999 이하만 가능합니다.");
qty = 9999;
}
else
{
qty = qty + num;
}
f.ct_qty.value = qty;
amount_change();
}
이 부분이 나오는데 이걸
function qty_add(num)
{
var f = document.fitem;
var qty = parseInt(f.ct_qty.value);
if (num < 0 && qty <= <?=$it[PackNum]?>)
{
alert("수량은 <?=$it[PackNum]?> 이상만 가능합니다.");
qty = <?=$it[PackNum]?>;
}
else if (num > 0 && qty >= 9999)
{
alert("수량은 9999 이하만 가능합니다.");
qty = 9999;
}
else
{
qty = qty + num;
}
f.ct_qty.value = qty;
amount_change();
}
이렇게 바꾸어줍니다.
그리고 599번째줄 쯔음에
} else if (parseInt(f.ct_qty.value) < 1) {
alert("수량은 1 이상 입력해 주십시오.");
이 부분은
} else if (parseInt(f.ct_qty.value) < <?=$it[PackNum]?>) {
alert("수량은 <?=$it[PackNum]?> 이상 입력해 주십시오.");
이렇게 바꾸어주시면 됩니다.
자 이제, 거의다 끝이 났습니다.
상품입력시, 금액은 1개의 금액을 입력하시고 테스트를 해보시면 모두 작동을 합니다만,
리스트에서는 여전히 한개의 금액만을 표시하고 있습니다.
개당가격이므로 그냥 놔두셔도 좋습니다만,
10개단위이기 때문에, 최소수량이 10개이겠지요~
그래서 리스트에서도 10개의 금액이 나와야 하는게 맞습니다.
전 list.skin.10.php 파일을 사용중입니다.
(shop/list.php 은 수정하시면 안됩니다.)
이 안에 보시면,
display_amount(get_amount($row), $row[it_tel_inq])
위와같은 구문으로 금액이 추출되어져 옵니다.
여기부분에서 단위수량만큼 곱해준다면
display_amount(get_amount($row) * $row['PackNum'], $row[it_tel_inq])
이렇게 되겠지요. 기본수량이 1이기 때문에,
여느 다른상품들도 영향이 없습니다. ^^
여기까지 하면 모두 수정이 완료되었습니다.
나머지는 계산값을 그대로 받아쓰기때문에
아무지장없이 패스~~
list.skin.10.php 이 파일외에 리스트가 나타나는 모든 파일에
곱하기를 해주어야지요~~ 꼼꼼하게 점검해보시고,
솔직히 딱히 쓸데없을것같지만, 만들어놓으니 맘이 한결 편하네요 ^^;
댓글 4개
좋은팁 감사합니다.~~
item.php 파일에서
<input type=text name=ct_qty value='1' size=4 maxlength=4 class=ed autocomplete='off' style='text-align:right;' onkeyup='amount_change()'>
이부분을
<input type=text name=ct_qty value='<?=$it[PackNum]?>' size=4 maxlength=4 class=ed autocomplete='off' style='text-align:right;' onkeyup='amount_change()'>
이렇게 고치니, 처음나오는 수량에서도, 관리자에서 입력한 값이 나오네요~. ^^
item.php 파일에서
<input type=text name=ct_qty value='1' size=4 maxlength=4 class=ed autocomplete='off' style='text-align:right;' onkeyup='amount_change()'>
이부분을
<input type=text name=ct_qty value='<?=$it[PackNum]?>' size=4 maxlength=4 class=ed autocomplete='off' style='text-align:right;' onkeyup='amount_change()'>
이렇게 고치니, 처음나오는 수량에서도, 관리자에서 입력한 값이 나오네요~. ^^
게시글 목록
| 번호 | 제목 |
|---|---|
| 1053 | |
| 1044 | |
| 1041 | |
| 1022 | |
| 978 | |
| 975 | |
| 974 | |
| 967 | |
| 964 | |
| 963 | |
| 962 | |
| 958 | |
| 957 | |
| 952 | |
| 934 | |
| 929 | |
| 923 | |
| 921 | |
| 905 | |
| 903 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기