Hotopay에는 카트 기능이 있습니다.
게시판 스킨(게시글 조회 페이지)에 넣을 예시입니다.
{@
$oHotopayModel = HotopayModel::getInstance();
$oProduct = $oHotopayModel->getProductByDocumentSrl($oDocument->get('document_srl'));
$options = $oProduct->product_option;
}
<select id="option_srl">
<!--@foreach($options as $option)-->
{@
$sub_price = $option->price - $oProduct->product_sale_price;
$sub_price = $sub_price + round($sub_price * ($oProduct->tax_rate / 100));
if($sub_price > 0) $sub_price = "(+".number_format($sub_price)."원)";
else if($sub_price < 0) $sub_price = "(".number_format($sub_price)."원)";
else $sub_price = "";
$stock_text = "";
if($option->infinity_stock != 'Y'):
if($option->stock < 1) $stock_text = " (품절)";
else $stock_text = " (".$option->stock."개)";
endif;
}
<option value="{$option->option_srl}" data-hotopay-option-price="{$option->price + round($option->price * ($product->tax_rate / 100))}" disabled|cond="$option->infinity_stock != 'Y' && $option->stock < 1">{$option->title} {$sub_price}{$stock_text}</option>
<!--@endforeach-->
</select>
<p><input type="number" id="quantity" value="1"></p>
<p><button class="addCart" data-product-srl="{$oProduct->product_srl}"><i class="ico cart"></i> 카트에 담기</button></p>
<script>
jQuery(document).ready(function($) {
// addCart
$('.addCart').click(function() {
var product_srl = $(this).data('product-srl');
var option_srl = $('#option_srl').val();
var quantity = $('#quantity').val();
console.log(product_srl, option_srl, quantity);
$.ajax({
url: '/hotopay/cart/add',
type: 'POST',
data: {
'product_srl': product_srl,
'option_srl': option_srl,
'quantity': quantity
},
success: function(data) {
if (data.error == 0)
{
alert('장바구니에 추가되었습니다.');
window.location = '/hotopay/cart';
}
else
{
if (data.message == '이미 장바구니에 담겨있는 상품입니다.')
{
window.location = '/hotopay/cart';
return;
}
alert(data.message);
}
}
});
});
});
</script>
{
"product_srl": Hotopay 상품 번호 (int)
"option_srl": Hotopay 옵션 번호 (int)
"quantity": 수량 (int)
}
{
"error": 0,
"message": "장바구니에 추가되었습니다."
}
{
"cart_item_srl": 카트 아이템 번호 (int)
}
{
"error": 0,
"message": "장바구니에서 삭제되었습니다."
}
{
"cart_item_srl": 카트 아이템 번호 (int)
"option_srl": Hotopay 옵션 번호 (int)
"quantity": 수량 (int)
}
{
"error": 0,
"message": "장바구니가 수정되었습니다."
}