2016-06-16 4 views
-1

Volusion shop에 대한 고유 한 템플릿을 만들려고합니다. masterpage에서 "장바구니"에있는 모든 제품의 가격을 합한 "Total"필드가 있습니다. 어떻게하면이 가치를 얻을 수 있습니까? 어쩌면 자바 스크립트?Volusion에서 내 장바구니를 얻는 방법

답변

1

장바구니 합계를 표시하고자하는 곳에이 값을 추가하십시오.

<div id ="mini_cart_summary"></div> 

당신이 당신의 템플릿 파일에 다음을 추가하거나 별도의 자바 스크립트 파일을 작성하고 템플릿에서 호출해야 할 것 Volusion 소프트 카트 기능을 사용하는 것입니다 가정.

jQuery(function(){ 
    jQuery.ajax({ 
     url: '/AjaxCart.asp', 
     cache: false, 
     dataType: 'json', 
     success: function (data) { 
      jQuery('#mini_cart_summary').text(data.Totals[0].CartTotal); 
     } 
    }); 
}); 

DisplayCartPopup.prototype.DrawCart = function (CartX, CartY) { 
    if (window.hideEditBoundingBox) { 
     window.hideEditBoundingBox(); 
    } 
    var instance = this; 
    jsonCart = this.data; 

    var index = parseInt(jsonCart.Totals[0].LastProduct); 
    var quantity; 
    var cartTotal; 
    var discountTotal; 
    var cartLength = 0; 
    if (jsonCart != null) { 
     cartLength = jsonCart.Products.length; 
    } 

    quantity = jsonCart.Totals[0].Quantity; 
    cartTotal = jsonCart.Totals[0].CartTotal; 
    discountTotal = jsonCart.Totals[0].DiscountTotal; 

    jQuery("#mini_cart_summary").text(cartTotal); 

    var i = 0; 
    var cartHTML = ''; 
    cartHTML += '<div class="soft_add_wrapper">'; 
    cartHTML += '<div class="soft_add_header_shadow">'; 
    cartHTML += '<div class="soft_add_header"><span class="soft_add_span">' + PageText_842 + '</span><a href="" class="close_btn" onclick="hideCart(); return false;">Close</a></div></div>' 
    cartHTML += '<div class="soft_add_content_shadow"><div class="soft_add_content_wrapper">'; 
    cartHTML += '<div class="soft_add_content_area">'; 
    if (!volusion.cart.hasAnchor()) { 
     cartHTML += '<table class="cart_table" cellpadding="0" cellspacing="0" border="0">'; 
     cartHTML += cartLoop(cartLength, false); 
     if (cartLength > 0 && discountTotal != "0") { 
      var discountProduct = { 
       ProductName: "Discount(s)", 
       ProductPrice: '<span style="color:red">' + discountTotal + '</span>' 
      }; 
      cartHTML += getLineItemHTML(discountProduct, 0); 
     } 
     cartHTML += '</table>'; 
    } else { 
     cartHTML += '<ul class="anchored-cart">'; 
     cartHTML += cartLoop(cartLength, true); 
     cartHTML += '</ul>'; 
    } 

    cartHTML += '</div><div class="soft_add_sub_total"><div class="number_of_items">' + quantity + ' ' + PageText_844 + '</div>'; 
    cartHTML += '<div class="sub_total">'; 
    cartHTML += PageText_843 + ': <span class="sub_total_amount">' + cartTotal + '</span>'; 
    cartHTML += '</div>'; 
    cartHTML += '</div><div class="soft_add_action_area">'; 
    cartHTML += '<a href="/ShoppingCart.asp" class="check_out"'; 
    if (typeof (isSocialStore) === "function") { 
     cartHTML += ' target="_blank" '; 
    } else if (top !== self) { 
     cartHTML += ' target="_parent" '; 
    } 
    cartHTML += '>View Cart</a>'; 
    cartHTML += '<a href="" class="continue_shopping" onclick="hideCart(); return false;">Continue shopping</a>'; 
    cartHTML += '</div></div></div></div>'; 

    if (!cartDiv2) { 
     cartDiv2 = document.createElement('div'); 
     jQuery(cartDiv2).css('visibility', 'hidden').attr('class', 'cartDiv2'); 
     if (volusion.cart.hasAnchor()) { 
      jQuery(volusion.cart.anchor()[0]).append(cartDiv2); 
     } else { 
      jQuery('body').append(cartDiv2); 
     } 
    } else { 
     cartDiv2.innerHTML = ''; 
    } 
    cartDiv2.innerHTML = cartHTML; 
    jQuery('.cartDiv2 .product_name a').each(function (index, element) { 
     if (element.textContent) { 
      element.innerHTML = element.textContent; 
     } else if (element.innerText) { 
      element.innerHTML = element.innerText; 
     } 
     element.innerHTML = element.innerHTML.replace(/<[^>]*>/g, ''); 
    }); 

    var $softAddWrapper = jQuery('.soft_add_wrapper'); 
    if (volusion.cart.hasAnchor()) { 
      var $anchor = volusion.cart.anchor(); 
     $softAddWrapper.addClass('anchored'); 
     CartX = $anchor.width() - $softAddWrapper.width(); 
     CartY = $anchor.height(); 
     $softAddWrapper.css({ left: CartX.toString() + 'px', top: CartY.toString() + 'px' }); 
    } else { 
     if (CartX >= 0 && CartY >= 0) { 
      var MaxX = (jQuery(window).width()) - $softAddWrapper.width(); 
      MaxX += CART_MIN_LEFT; 
      MaxX -= CART_PADDING_RIGHT; 
      if (CartX > MaxX) { 
       CartX = MaxX; 
      } 

      var MaxY = (jQuery(window).height()) - $softAddWrapper.height(); 
      if (CartY > MaxY) { 
       CartY = MaxY; 
      } 

      var MinX = CART_MIN_LEFT + CART_PADDING_LEFT; 
      var MinY = CART_MIN_TOP + CART_PADDING_TOP; 

      if (CartX < CART_MIN_LEFT) { 
       CartX = CART_MIN_LEFT; 
      } //left 
      if (CartY < CART_MIN_TOP) { 
       CartY = CART_MIN_TOP; 
      } //left 
      $softAddWrapper.css({ left: Math.round(CartX).toString() + 'px', top: Math.round(CartY).toString() + 'px' }); 
     } else { 
      $softAddWrapper.css({ left: 50 + '%', top: 140 + 'px' }); 
      CartX = $softAddWrapper.offset().left; 
      CartX -= ($softAddWrapper.width()/2); 
      $softAddWrapper.css({ left: CartX + 'px' }); 
     } 
    } 

    if (typeof (softAddOnFirstShowCallback) === "function") { 
     softAddOnFirstShowCallback(); 
    } 

    if (typeof (addFacebookLikeDiscountToCart) === "function" && discountTotal == "0" && quantity != "0") { 
     addFacebookLikeDiscountToCart(); 
     DisplayCartPopupBegin(''); 
     return false; 
    } 

    window.setTimeout(function() { instance.ResizeImages(); }, 200); 
    volusion.cart.itemCount(quantity); 
}; 
+0

좋아요! 아약스 부분은 enaugh입니다. 이런 접근 방식으로 Volusion의 지식 기반을 아십니까? – chotkos

1

가 나는 기술 지원에 대한 언급이 표시되지 않습니다,하지만 당신은 열려 콘솔 상점 페이지 중 하나를 검색하는 경우 : 당신이 /AjaxCart.asp 표시됩니다 (예를 들어 방화범)가 이미 호출되고 Volusion. 우리는 비슷한 접근 방식을 사용하여 페이지에 장바구니 요약을 표시합니다.