2012-07-04 6 views
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> 

답변

1

문제는 폐쇄 </form> 태그가 탭의 컨텐츠 주위하지 않을 것입니다. </form> 귀하의 콘텐츠 후 이동해야합니까 그걸해야합니까

+0

너무 양식 태그에 대해 생각하고 Opencart 자바 스크립트를 사용하여 제출 버튼을 바인딩하는 것 깨달았다. 자바 스크립트 코드로 원래 게시물을 편집했습니다. – dynamo

+0

양식 태그를 옮겨 보았습니까? 또한 그들이 .product-info 클래스를 가진 래퍼 요소에 있어야 함을 유의하십시오. –

+0

Ive는 위에 게시 한 javascript 바인드 함수를 옮겼습니다. 그러나 당신이 그것을 두는 것이 중요하지 않은 것 같습니다. 그 페이지. 나는 javascript로 작성된 .product-info 클래스에 대해 뭔가있는 것으로 생각한다. 그 div들을 확인하러 갈거야 – dynamo

관련 문제