0
Opencart 1.5.3. 탭에 표시 할 페이지의 제품 옵션을 가져 오려고합니다. 다음 코드를 사용하면 오류가 발생하지 않고 잘 보입니다.하지만 장바구니에 추가를 클릭해도 아무런 효과가 없습니다. 코드가 탭 외부에 있으면 제대로 작동합니다. Im가 무엇을 잘못하고 있는지 확실하지 않습니다.Opencart 탭에 제품 옵션을 추가하는 방법
<div id="tabs_container">
<ul id="tabs">
<li class="active"><a href="#tab1">tab1</a></li>
<li><a href="#tab2">tab2</a></li>
<li><a href="#tab3">tab3</a></li>
<li><a href="#tab4">tab4</a></li>
</ul>
</div>
<div id="tabs_content_container">
<div id="tab1" class="tab_content" style="display:block"></div><!--tab1-->
<div id="tab2" class="tab_content"></div><!--tab2-->
<div id="tab3" class="tab_content"></div><!--tab3-->
<div id="tab4" class="tab_content">
<?php if ($options) { ?>
<div class="options">
<h2><?php echo $text_option; ?></h2>
<br />
<?php foreach ($options as $option) { ?>
<?php if ($option['type'] == 'select') { ?>
<div id="option-<?php echo $option['product_option_id']; ?>" class="option">
<?php if ($option['required']) { ?>
<span class="required">*</span>
<?php } ?>
<b><?php echo $option['name']; ?>:</b><br />
<select name="option[<?php echo $option['product_option_id']; ?>]">
<option value=""><?php echo $text_select; ?></option>
<?php foreach ($option['option_value'] as $option_value) { ?>
<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
<?php } ?>
</option>
<?php } ?>
</select>
</div>
<br />
<?php } ?>
<?php } ?>
</div>
</div><!--tab4-->
</div><!--tabs_content_container-->
다음은 Opencart에서 사용하는 양식 제출을위한 javascript입니다.
<script type="text/javascript"><!--
$('#button-cart').bind('click', function() {
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
dataType: 'json',
success: function(json) {
$('.success, .warning, .attention, information, .error').remove();
if (json['error']) {
if (json['error']['option']) {
for (i in json['error']['option']) {
$('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
}
}
}
if (json['success']) {
$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
$('.success').fadeIn('slow');
$('#cart-total').html(json['total']);
$('html, body').animate({ scrollTop: 0 }, 'slow');
}
}
});
});
//--></script>
너무 양식 태그에 대해 생각하고 Opencart 자바 스크립트를 사용하여 제출 버튼을 바인딩하는 것 깨달았다. 자바 스크립트 코드로 원래 게시물을 편집했습니다. – dynamo
양식 태그를 옮겨 보았습니까? 또한 그들이 .product-info 클래스를 가진 래퍼 요소에 있어야 함을 유의하십시오. –
Ive는 위에 게시 한 javascript 바인드 함수를 옮겼습니다. 그러나 당신이 그것을 두는 것이 중요하지 않은 것 같습니다. 그 페이지. 나는 javascript로 작성된 .product-info 클래스에 대해 뭔가있는 것으로 생각한다. 그 div들을 확인하러 갈거야 – dynamo